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
CVE-2025-68616-Detecting-and-Patching-an-SSRF-in-WeasyPrint-with-Wazuh — Estudio de caso práctico de gestión de vulnerabilidades: cómo Wazuh señaló un SSRF real (CVE-2025-68616) en WeasyPrint, y cómo lo reproduje y parcheé. | Kitploit
Herramientas/GitHubGitHub/rauljvc8/cve-2025-68616-detecting-and-patching-an-ssrf-in-weasyprint-with-wazuh
Análisis de VulnerabilidadesSeguridad WebDetección de IntrusionesAprendizaje y EducaciónRespuesta a IncidentesLabs y Práctica
GitHubrauljvc8/cve-2025-68616-detecting-and-patching-an-ssrf-in-weasyprint-with-wazuh

CVE-2025-68616-Detecting-and-Patching-an-SSRF-in-WeasyPrint-with-Wazuh

Estudio de caso práctico de gestión de vulnerabilidades: cómo Wazuh señaló un SSRF real (CVE-2025-68616) en WeasyPrint, y cómo lo reproduje y parcheé.

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
Ver Repositorio
hace 1 mesAún no revisado

De la detección a la remediación: caza y parcheo de un SSRF real (CVE-2025-68616) en WeasyPrint con Wazuh

TL;DR

Durante un ejercicio de práctica personal con Wazuh (SIEM/XDR de código abierto) en una máquina Kali Linux, el módulo Vulnerability Detection identificó una vulnerabilidad de severidad Alta (CVSS 7.5) en el paquete WeasyPrint: una omisión de la protección SSRF (CVE-2025-68616). Investigué el hallazgo, reproduje el problema con una prueba de concepto local, apliqué la versión parcheada del proyecto y verifiqué que la explotación ya no funciona. Este repositorio documenta el proceso completo: detección, análisis, PoC y remediación.

Contexto

Wazuh es una plataforma de seguridad de código abierto (SIEM + XDR) que combina, entre otras cosas, la recopilación de registros, el monitoreo de integridad de archivos (FIM), la detección de anomalías y la detección de vulnerabilidades para el software instalado en los hosts monitoreados, cruzando el inventario de paquetes con bases de datos de CVE (NVD, entre otras).

En este ejercicio, el agente de Wazuh se ejecutó en una máquina Kali GNU/Linux 2025.4, con el manager, el indexer y el dashboard también ejecutándose localmente. Antes de llegar al hallazgo, el entorno ya contaba con monitoreo activo funcionando correctamente: sesiones de inicio de sesión PAM, ejecuciones de sudo, cambios en puertos en escucha y eventos de anomalías de rootcheck, todo visible en el módulo Threat Hunting.

El Hallazgo: CVE-2025-68616

El módulo Vulnerability Detection de Wazuh reportó 1 vulnerabilidad de severidad Alta en el agente Kali, asociada con el paquete weasyprint.

Detalle Técnico (NVD)

WeasyPrint es una biblioteca de Python que convierte HTML/CSS en documentos PDF, ampliamente utilizada para generar informes, facturas y documentos dinámicos desde aplicaciones web.

  • CVE: CVE-2025-68616
  • Puntuación base CVSS 3.x: 7.5 (Alta)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • CWE-918: Server-Side Request Forgery (SSRF)
  • CWE-601: URL Redirection to Untrusted Site ('Open Redirect')
  • Versiones afectadas: anteriores a la 68.0 (cpe:2.3:a:kozea:weasyprint:*:*:*:*:*:*:*:*, hasta excluir la 68.0)
  • Publicado (NVD): 19/01/2026

Descripción: antes de la versión 68.0, existe una omisión de la protección SSRF en el default_url_fetcher de WeasyPrint. La vulnerabilidad permite a un atacante acceder a recursos de red internos (como servicios de localhost o puntos finales de metadatos de la nube) incluso cuando el desarrollador implementó un url_fetcher personalizado para bloquear dicho acceso. Esto ocurre porque la biblioteca subyacente urllib sigue automáticamente las redirecciones HTTP sin volver a validar el nuevo destino contra la política de seguridad del desarrollador. La versión 68.0 contiene un parche para el problema.

Referencias:

  • Aviso oficial: GHSA-983w-rhvv-gwmv
  • Commit del parche: b6a14f0...43f0e565
  • CVE de Red Hat: access.redhat.com/security/cve/CVE-2025-68616

Prueba de Concepto (PoC)

Para confirmar el impacto real antes de parchear, preparé un escenario de explotación local contra la versión vulnerable instalada en el sistema.

1. Cloné el repositorio con el parche aplicado (rama principal, que ya incluye la corrección de la versión 68.0):

root@kitploit:~
git clone https://github.com/Kozea/WeasyPrint.git

2. Revisé el código corregido, específicamente weasyprint/urls.py, donde se encuentran la lógica de default_url_fetcher y el manejo de redirecciones:

3. Creé un archivo HTML malicioso que intenta exfiltrar un archivo local del sistema mediante un iframe, simulando el vector SSRF / acceso no autorizado a recursos descrito en la CVE (nota: los nombres de archivo y los contenidos de archivo a continuación se mantienen exactamente como se ejecutaron, coincidiendo con la salida del terminal en las capturas de pantalla):

root@kitploit:~
cat << 'EOF' > ataque.html
<!DOCTYPE html>
<html>
<head>
    <title>PoC SSRF - WeasyPrint</title>
</head>
<body>
    <h1>Prueba de Exfiltración de Archivos Locales</h1>
    <p>Si el parche no está aplicado, el contenido de abajo debería mostrar el archivo /etc/passwd:</p>
    
</body>
</html>
EOF

python3 -m weasyprint ataque.html resultado_vulnerable.pdf
xdg-open resultado_vulnerable.pdf

4. Resultado: al abrir el PDF generado, el iframe que apunta a file:///etc/passwd aparece vacío, sin contenido del archivo del sistema. Esto confirma que, en la versión parcheada, el intento de acceder a un recurso no autorizado se bloquea correctamente.

Remediación

  • Se identificó que el sistema tenía instalada una versión de WeasyPrint anterior a la 68.0, vulnerable a CVE-2025-68616.
  • Se obtuvo el código corregido mediante git clone del repositorio oficial (rama que incluye el commit del parche b6a14f0...).
  • Se validó, mediante el PoC descrito anteriormente, que la versión parcheada ya no permite el acceso al recurso file:///etc/passwd a través del iframe.

Conclusiones y Lecciones Aprendidas

  • El módulo Vulnerability Detection de Wazuh permitió identificar una vulnerabilidad real de alta severidad en una dependencia instalada, sin necesidad de escaneo manual de paquetes.
  • El cruce de la alerta de Wazuh con la entrada oficial de la CVE en NVD fue clave para entender el vector de ataque exacto (SSRF mediante la omisión de url_fetcher) antes de intentar reproducirlo.
  • La construcción de un PoC controlado, en un entorno personal y aislado, permitió validar el impacto real y confirmar objetivamente la efectividad del parche, en lugar de simplemente confiar en el número de versión.
  • Este flujo de trabajo (detección → análisis → PoC → remediación → verificación) refleja exactamente el ciclo de vida de la gestión de vulnerabilidades esperado en un entorno de seguridad profesional.

Práctica realizada en un entorno personal y aislado (Kali Linux + Wazuh ejecutándose localmente) con fines educativos. No se accedió a sistemas de terceros.


Descargar herramienta