Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/s41r4j/cve-2025-48384
Análisis de VulnerabilidadesExplotaciónSeguridad de Cadena de SuministroPapers e InvestigaciónAprendizaje y EducaciónLabs y Práctica
GitHubs41r4j/cve-2025-48384

CVE-2025-48384

Vulnerabilidad de GIT | Carriage Return y RCE al clonar

Ver Repositorio
1hace 11 mesesAún no revisado
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Resumen de CVE-2025-48384

CVE-2025-48384 es una vulnerabilidad crítica en Git, el sistema de control de versiones distribuido más utilizado. Implica un manejo inadecuado de los caracteres de retorno de carro (CR) en los valores de configuración, lo que puede provocar problemas de path traversal durante los checkouts de submódulos. Esta falla permite la posible ejecución de código arbitrario bajo condiciones específicas. La vulnerabilidad fue divulgada públicamente el 8 de julio de 2025 y modificada por última vez el 26 de agosto de 2025. Fue agregada al catálogo de Vulnerabilidades Explotadas Conocidas (KEV) de la Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU. (CISA) el 25 de agosto de 2025, lo que indica explotación activa en el medio, con una fecha límite de remediación del 15 de septiembre de 2025.

Descripción de la vulnerabilidad

El problema se origina en cómo Git procesa los valores de configuración:

  • Al leer un valor de configuración, Git elimina cualquier retorno de carro y avance de línea (CRLF) final.
  • Sin embargo, al escribir una entrada de configuración, los valores que contienen un CR final no se entrecomillan correctamente, lo que provoca que el CR se pierda durante lecturas posteriores.

Esta discrepancia puede hacer que un submódulo se revise en una ubicación incorrecta si su ruta incluye un CR final. Si un atacante configura un enlace simbólico que apunta esta ruta alterada al directorio de hooks del submódulo, y el submódulo contiene un hook post-checkout ejecutable, el script del hook podría ejecutarse involuntariamente después del checkout, resultando en ejecución de código arbitrario.

Detalles técnicos

La vulnerabilidad explota un conflicto de interpretación en el análisis de configuración de Git:

  • Desajuste en el manejo de configuración: Los CR finales se eliminan al leer, pero no se conservan al escribir sin entrecomillado.
  • Alteración de la ruta de checkout del submódulo: Una ruta de submódulo como "submodule/path" podría interpretarse como "submodule/path" después de que se pierda el CR.
Descargar herramienta
  • Explotación mediante enlace simbólico: Un atacante podría crear un enlace simbólico desde la ruta alterada al directorio de hooks (por ejemplo, .git/hooks/post-checkout), permitiendo la ejecución de hooks maliciosos durante operaciones como git submodule update o git clone --recurse-submodules.
  • Esto se clasifica bajo:

    • CWE-436: Conflicto de interpretación (desajuste en cómo se procesan los datos).
    • CWE-59: Resolución incorrecta de enlaces antes del acceso a archivos ('Link Following'), debido al abuso de enlaces simbólicos.

    El vector de ataque es basado en red (AV:N), con alta complejidad (AC:H), pocos privilegios requeridos (PR:L), interacción de usuario requerida (UI:R) y alcance cambiado (S:C), impactando altamente la confidencialidad, integridad y disponibilidad (C:H/I:H/A:H).

    Versiones afectadas

    La vulnerabilidad afecta a versiones de Git anteriores a los siguientes lanzamientos parcheados:

    • Todas las versiones anteriores a v2.43.7
    • v2.44.0 a v2.44.3
    • v2.45.0 a v2.45.3
    • v2.46.0 a v2.46.3
    • v2.47.0 a v2.47.2
    • v2.48.0 a v2.48.1
    • v2.49.0
    • v2.50.0

    Afecta a Git en varias plataformas, incluyendo Linux, macOS y Windows, pero es particularmente relevante en entornos de desarrollo, pipelines CI/CD (por ejemplo, GitHub Actions, GitLab CI) y en cualquier lugar donde se clonen submódulos de repositorios no confiables.

    Impacto y escenarios de explotación

    • Impacto: Alto riesgo de ejecución remota de código (RCE), exfiltración de datos o compromiso del sistema. En flujos de trabajo de desarrolladores, esto podría provocar ataques a la cadena de suministro si se clonan repositorios maliciosos.
    • Requisitos de explotación:
      • Una ruta de submódulo especialmente diseñada con un CR final.
      • Un enlace simbólico que redirija al directorio de hooks.
      • Un hook ejecutable (por ejemplo, post-checkout) en el submódulo.
      • Interacción del usuario, como clonar un repositorio con --recurse-submodules.
    • Explotación en el mundo real: Al estar en el catálogo KEV de CISA, las agencias federales y la infraestructura crítica deben remediarlo antes del 15 de septiembre de 2025. Es probable que se esté explotando en ataques dirigidos a desarrolladores o proyectos de código abierto. No se menciona ningún PoC público en el aviso, pero la alta complejidad sugiere que requiere una configuración específica.

    Los detalles de CVSS no están completamente puntuados en NVD todavía (CVSS 4.0 pendiente), pero según las métricas CVSS 3.1 del aviso, se alinea con una gravedad crítica (CVSS estimado 8.8, como se señaló anteriormente en listas más amplias de CVE).

    Mitigación y recomendaciones

    • Versiones corregidas: Actualice Git a una de las siguientes o posteriores:
      • v2.43.7
      • v2.44.4
      • v2.45.4
      • v2.46.4
      • v2.47.3
      • v2.48.2
      • v2.49.1
      • v2.50.1
    • Soluciones alternativas:
      • Evite clonar submódulos de forma recursiva (--recurse-submodules) desde repositorios no confiables.
      • Deshabilite o restrinja el uso de enlaces simbólicos en las configuraciones de Git si es posible.
      • Use Git en entornos con permisos restringidos (por ejemplo, configuraciones en contenedores).
    • Consejo adicional: Para organizaciones bajo directivas de CISA, aplique parches según las instrucciones del proveedor o deje de usar Git si no se puede parchear. Escanee regularmente los repositorios en busca de submódulos sospechosos y supervise las ejecuciones inesperadas de hooks.

    Créditos y referencias

    • Créditos: El aviso acredita a ttaylorr por reportar y publicar los detalles.
    • Referencias clave:
      • Entrada NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-48384
      • Aviso de GitHub: https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
      • Catálogo KEV de CISA: (Integrado en los detalles de NVD)

    Esta vulnerabilidad resalta la importancia de un manejo seguro en los sistemas de control de versiones, especialmente con submódulos. Si está utilizando Git en un entorno de producción o desarrollo, priorice la actualización inmediata, dado el estado de explotación activa.

    PoC rápido

    • Requisitos previos: Docker instalado; este repositorio clonado localmente. No se necesita red durante el PoC.
    • Git vulnerable: Utiliza Git 2.40.4 (comportamiento verificado de path-confusión).
    • URL del submódulo: .gitmodules apunta a https://github.com/s41r4j/CVE-2025-48384-submodule.git, pero el PoC lo reescribe a una copia local para pruebas sin conexión.

    Ejecute:

    bash scripts/poc.sh

    Qué hace:

    • Construye una imagen de contenedor con Git 2.40.4.
    • Crea una flag en $HOME/flag.txt dentro del contenedor.
    • Copia malicious-submodule-repo/ a /tmp en el contenedor.
    • Clona este repositorio de forma recursiva con una reescritura de URL a esa copia local del submódulo.
    • Fuerza el checkout para activar el hook post-checkout si el path-confusión tiene éxito.
    • Imprime /tmp/flag.txt creado por el hook.

    Notas:

    • La ruta del submódulo malicioso es un literal sub^M (CR) almacenado como un gitlink; la ruta sanitizada sub se resuelve a través de un enlace simbólico a .git/hooks, por lo que el post-checkout rastreado del submódulo termina como un hook real y se ejecuta.
    • Para redirigir el gitlink al commit más reciente de su submódulo remoto después de subirlo a GitHub, ejecute: bash scripts/update-gitlink.sh.