Plataforma
rust
Componente
jj-lib
Corregido en
0.23.1
0.23.0
El CVE-2024-51990 describe una vulnerabilidad de Path Traversal en la herramienta jj-lib. Esta vulnerabilidad permite a un atacante, mediante repositorios Git especialmente diseñados, escribir archivos fuera del directorio del clon. La vulnerabilidad afecta a versiones anteriores a 0.23.0. Se recomienda actualizar a la versión 0.23.0 para mitigar el riesgo.
Un atacante podría explotar esta vulnerabilidad creando un repositorio Git malicioso que contenga objetos de archivo con secuencias de Path Traversal. Al clonar este repositorio con jj-lib, el software podría ser engañado para escribir archivos en ubicaciones arbitrarias del sistema de archivos. Esto podría resultar en la modificación o eliminación de archivos críticos, la ejecución de código malicioso o el acceso a información confidencial. El impacto potencial es significativo, especialmente en entornos donde jj-lib se utiliza para gestionar repositorios de código fuente sensibles.
Este CVE fue publicado el 7 de noviembre de 2024. No se ha reportado su inclusión en el KEV de CISA ni se han identificado campañas de explotación activas. La vulnerabilidad se basa en una manipulación de rutas dentro de la herramienta jj-lib al procesar repositorios Git, similar a otras vulnerabilidades de Path Traversal que explotan la falta de validación adecuada de las entradas del usuario.
Developers and users who rely on jj-lib for managing Git repositories, particularly those who clone repositories from external or untrusted sources, are at risk. This includes individuals and organizations using jj-lib in automated build pipelines or CI/CD systems where repository content is dynamically managed.
• rust / supply-chain: Examine Cargo.toml files for dependencies on jj-lib versions prior to 0.23.0. Use cargo audit to identify vulnerable dependencies.
• generic web: Monitor file system activity for unexpected writes outside the expected clone directory.
# Example: Monitor for writes to /tmp from a jj-lib process
sudo auditctl -w /tmp -p wa -k jj-lib-writesdisclosure
Estado del Exploit
EPSS
0.17% (39% percentil)
CISA SSVC
Vector CVSS
La solución principal es actualizar jj-lib a la versión 0.23.0 o posterior, donde la vulnerabilidad ha sido corregida. Si la actualización no es inmediatamente posible, la mitigación más efectiva es evitar clonar repositorios Git de fuentes no confiables. Como medida adicional, se puede considerar la implementación de controles de acceso estrictos en el sistema de archivos para limitar el impacto potencial de una escritura no autorizada. No existen configuraciones o parches alternativos disponibles en este momento.
Actualice jj a la versión 0.23.0 o superior. Si no puede actualizar, evite clonar repositorios de fuentes desconocidas para mitigar el riesgo de path traversal. La actualización es la solución recomendada para protegerse contra esta vulnerabilidad.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2024-51990 is a Path Traversal vulnerability in jj-lib, allowing attackers to write files outside the intended clone directory using crafted Git repositories.
You are affected if you are using a version of jj-lib prior to 0.23.0 and clone repositories from untrusted sources.
Upgrade to version 0.23.0 or later of jj-lib. As a temporary workaround, avoid cloning repositories from untrusted sources.
There are currently no known active exploitation campaigns targeting CVE-2024-51990, but a public proof-of-concept exists.
Refer to the jj-lib project's release notes and GitHub repository for updates and advisories related to CVE-2024-51990.
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.
Sube tu archivo Cargo.lock y te decimos al instante si estás afectado.