Vulnerabilidad en Traccar (CVE-2024-31214)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-434
Subida sin restricciones de ficheros de tipos peligrosos
Fecha de publicación:
10/04/2024
Última modificación:
09/01/2025
Descripción
Traccar es un sistema de rastreo GPS de código abierto. Las versiones 5.1 a 5.12 de Traccar permiten cargar archivos arbitrarios a través de la API de carga de imágenes 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ón 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ón remota de código, XSS, DOS, etc. La instalación predeterminada de Traccar hace que esta vulnerabilidad sea más grave. El autorregistro está habilitado de forma predeterminada, lo que permite que cualquiera cree una cuenta para explotar esta vulnerabilidad. Traccar también se ejecuta de forma predeterminada con privilegios de root/sistema, lo que permite colocar archivos en cualquier parte del sistema de archivos. La versión 6.0 contiene una solución para el problema. También se puede desactivar el autorregistro de forma predeterminada, ya que eso haría que la mayoría de las vulnerabilidades de la aplicación sean mucho más difíciles de explotar de forma predeterminada y reduciría considerablemente la gravedad.
Impacto
Puntuación base 3.x
9.60
Gravedad 3.x
CRÍTICA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:traccar:traccar:*:*:*:*:*:*:*:* | 5.1 (incluyendo) | 5.12 (incluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56
- https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191
- https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f
- https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9
- https://github.com/traccar/traccar/blob/master/src/main/java/org/traccar/model/Device.java#L56
- https://github.com/traccar/traccar/blob/v5.12/src/main/java/org/traccar/api/resource/DeviceResource.java#L191
- https://github.com/traccar/traccar/commit/3fbdcd81566bc72e319ec05c77cf8a4120b87b8f
- https://github.com/traccar/traccar/security/advisories/GHSA-3gxq-f2qj-c8v9