CVE-2026-76806 Recorrido de directorios en el importador ZIP de Toggl de Solidtime
Antes de 0.16.0, TogglDataImporter::importData() leía valores de id de proyecto controlados por el atacante desde projects.json en importaciones ZIP y los concatenaba en rutas del sistema de archivos sin validación. Como Spatie\TemporaryDirectory\TemporaryDirectory::path() crea los directorios padre faltantes, las secuencias de recorrido podían escapar del sandbox temporal y crear directorios en rutas arbitrarias con permiso de escritura. Las respuestas distinguibles de ImportController para objetivos existentes…
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 16
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
solidtime-io solidtime
< 0.16.0
Qué hacer
- Verificá si usás solidtime y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 6.3 MEDIA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadBaja
- IntegridadBaja
- DisponibilidadBaja
Descripción original
Solidtime is an open-source time-tracking app. Prior to 0.16.0, TogglDataImporter::importData() read attacker-controlled project id values from projects.json in uploaded ZIP imports and concatenated them into filesystem paths without validation. Because Spatie\TemporaryDirectory\TemporaryDirectory::path() creates missing parent directories, traversal sequences could escape the temporary sandbox and create directories at arbitrary writable host paths. Distinguishable ImportController responses for existing versus missing targets exposed whether suffix-constrained host paths derived from projects_users/{id}.json or tasks/{id}.json existed, because the importer always appended .json. Any registered user able to create an organization and use POST /api/v1/organizations/{org}/import with type=toggl_data_importer could reach the flaw, potentially causing minor availability impact through directory exhaustion and disclosing host layout information. This issue is fixed in version 0.16.0.
Referencias (3)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.