CVE-2024-31214
Vulnerability from cvelistv5
Published
2024-04-10 17:20
Modified
2024-08-02 01:46
Severity ?
Summary
Traccar is an open source GPS tracking system. Traccar versions 5.1 through 5.12 allow arbitrary files to be uploaded through the device image upload API. Attackers have full control over the file contents, full control over the directory where the file is stored, full control over the file extension, and partial control over the file name. While it's not for an attacker to overwrite an existing file, an attacker can create new files with certain names and attacker-controlled extensions anywhere on the file system. This can potentially lead to remote code execution, XSS, DOS, etc. The default install of Traccar makes this vulnerability more severe. Self-registration is enabled by default, allowing anyone to create an account to exploit this vulnerability. Traccar also runs by default with root/system privileges, allowing files to be placed anywhere on the file system. Version 6.0 contains a fix for the issue. One may also turn off self-registration by default, as that would make most vulnerabilities in the application much harder to exploit by default and reduce the severity considerably.
Impacted products
Vendor Product Version
traccar traccar Version: >= 5.1, < 6.0
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "affected": [
          {
            "cpes": [
              "cpe:2.3:a:traccar:traccar:*:*:*:*:*:*:*:*"
            ],
            "defaultStatus": "unknown",
            "product": "traccar",
            "vendor": "traccar",
            "versions": [
              {
                "lessThan": "6.0",
                "status": "affected",
                "version": "5.1",
                "versionType": "custom"
              }
            ]
          }
        ],
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-31214",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-07-19T13:24:33.179847Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-07-23T18:42:57.457Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T01:46:04.605Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "name": "https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9",
            "tags": [
              "x_refsource_CONFIRM",
              "x_transferred"
            ],
            "url": "https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9"
          },
          {
            "name": "https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f"
          },
          {
            "name": "https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56"
          },
          {
            "name": "https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191",
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "traccar",
          "vendor": "traccar",
          "versions": [
            {
              "status": "affected",
              "version": "\u003e= 5.1, \u003c 6.0"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "Traccar is an open source GPS tracking system. Traccar versions 5.1 through 5.12 allow arbitrary files to be uploaded through the device image upload API. Attackers have full control over the file contents, full control over the directory where the file is stored, full control over the file extension, and partial control over the file name. While it\u0027s not  for an attacker to overwrite an existing file, an attacker can create new files with certain names and attacker-controlled extensions anywhere on the file system. This can potentially lead to remote code execution, XSS, DOS, etc. The default install of Traccar makes this vulnerability more severe. Self-registration is enabled by default, allowing anyone to create an account to exploit this vulnerability. Traccar also runs by default with root/system privileges, allowing files to be placed anywhere on the file system. Version 6.0 contains a fix for the issue. One may also turn off self-registration by default, as that would make most vulnerabilities in the application much harder to exploit by default and reduce the severity considerably.\n"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 9.7,
            "baseSeverity": "CRITICAL",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-434",
              "description": "CWE-434: Unrestricted Upload of File with Dangerous Type",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-04-10T17:20:55.407Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9"
        },
        {
          "name": "https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f"
        },
        {
          "name": "https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56"
        },
        {
          "name": "https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191"
        }
      ],
      "source": {
        "advisory": "GHSA-3gxq-f2qj-c8v9",
        "discovery": "UNKNOWN"
      },
      "title": "Traccar\u0027s unrestricted file upload vulnerability in device image upload could lead to remote code execution"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2024-31214",
    "datePublished": "2024-04-10T17:20:55.407Z",
    "dateReserved": "2024-03-29T14:16:31.901Z",
    "dateUpdated": "2024-08-02T01:46:04.605Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-31214\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-04-10T18:15:07.350\",\"lastModified\":\"2025-01-09T16:14:43.407\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Traccar is an open source GPS tracking system. Traccar versions 5.1 through 5.12 allow arbitrary files to be uploaded through the device image upload API. Attackers have full control over the file contents, full control over the directory where the file is stored, full control over the file extension, and partial control over the file name. While it\u0027s not  for an attacker to overwrite an existing file, an attacker can create new files with certain names and attacker-controlled extensions anywhere on the file system. This can potentially lead to remote code execution, XSS, DOS, etc. The default install of Traccar makes this vulnerability more severe. Self-registration is enabled by default, allowing anyone to create an account to exploit this vulnerability. Traccar also runs by default with root/system privileges, allowing files to be placed anywhere on the file system. Version 6.0 contains a fix for the issue. One may also turn off self-registration by default, as that would make most vulnerabilities in the application much harder to exploit by default and reduce the severity considerably.\\n\"},{\"lang\":\"es\",\"value\":\"Traccar es un sistema de rastreo GPS de c\u00f3digo abierto. Las versiones 5.1 a 5.12 de Traccar permiten cargar archivos arbitrarios a trav\u00e9s de la API de carga de im\u00e1genes del dispositivo. Los atacantes tienen control total sobre el contenido del archivo, control total sobre el directorio donde se almacena el archivo, control total sobre la extensi\u00f3n del archivo y control parcial sobre el nombre del archivo. Si bien no le corresponde a un atacante sobrescribir un archivo existente, un atacante puede crear nuevos archivos con ciertos nombres y extensiones controladas por el atacante en cualquier parte del sistema de archivos. Esto puede conducir potencialmente a la ejecuci\u00f3n remota de c\u00f3digo, XSS, DOS, etc. La instalaci\u00f3n predeterminada de Traccar hace que esta vulnerabilidad sea m\u00e1s grave. El autorregistro est\u00e1 habilitado de forma predeterminada, lo que permite que cualquiera cree una cuenta para explotar esta vulnerabilidad. Traccar tambi\u00e9n se ejecuta de forma predeterminada con privilegios de root/sistema, lo que permite colocar archivos en cualquier parte del sistema de archivos. La versi\u00f3n 6.0 contiene una soluci\u00f3n para el problema. Tambi\u00e9n se puede desactivar el autorregistro de forma predeterminada, ya que eso har\u00eda que la mayor\u00eda de las vulnerabilidades de la aplicaci\u00f3n sean mucho m\u00e1s dif\u00edciles de explotar de forma predeterminada y reducir\u00eda considerablemente la gravedad.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H\",\"baseScore\":9.6,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":6.0},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H\",\"baseScore\":9.6,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":6.0}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-434\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-434\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:traccar:traccar:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.1\",\"versionEndIncluding\":\"5.12\",\"matchCriteriaId\":\"27A24D4B-A938-44B4-8630-B3A2F3B97900\"}]}]}],\"references\":[{\"url\":\"https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Product\"]},{\"url\":\"https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Product\"]},{\"url\":\"https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]},{\"url\":\"https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Product\"]},{\"url\":\"https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Product\"]},{\"url\":\"https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-31214\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-07-19T13:24:33.179847Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:traccar:traccar:*:*:*:*:*:*:*:*\"], \"vendor\": \"traccar\", \"product\": \"traccar\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.1\", \"lessThan\": \"6.0\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-07-19T14:54:01.238Z\"}}], \"cna\": {\"title\": \"Traccar\u0027s unrestricted file upload vulnerability in device image upload could lead to remote code execution\", \"source\": {\"advisory\": \"GHSA-3gxq-f2qj-c8v9\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 9.7, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"traccar\", \"product\": \"traccar\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003e= 5.1, \u003c 6.0\"}]}], \"references\": [{\"url\": \"https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9\", \"name\": \"https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f\", \"name\": \"https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56\", \"name\": \"https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191\", \"name\": \"https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Traccar is an open source GPS tracking system. Traccar versions 5.1 through 5.12 allow arbitrary files to be uploaded through the device image upload API. Attackers have full control over the file contents, full control over the directory where the file is stored, full control over the file extension, and partial control over the file name. While it\u0027s not  for an attacker to overwrite an existing file, an attacker can create new files with certain names and attacker-controlled extensions anywhere on the file system. This can potentially lead to remote code execution, XSS, DOS, etc. The default install of Traccar makes this vulnerability more severe. Self-registration is enabled by default, allowing anyone to create an account to exploit this vulnerability. Traccar also runs by default with root/system privileges, allowing files to be placed anywhere on the file system. Version 6.0 contains a fix for the issue. One may also turn off self-registration by default, as that would make most vulnerabilities in the application much harder to exploit by default and reduce the severity considerably.\\n\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-434\", \"description\": \"CWE-434: Unrestricted Upload of File with Dangerous Type\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2024-04-10T17:20:55.407Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-31214\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-07-23T18:42:57.457Z\", \"dateReserved\": \"2024-03-29T14:16:31.901Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2024-04-10T17:20:55.407Z\", \"assignerShortName\": \"GitHub_M\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.