Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-88901 — Prueba de concepto ejecutable de Spring Boot que reproduce CVE-2026-88901, una vulnerabilidad XXE (CWE-611) en Apache Camel camel-smooks, con ejecuciones de control afectadas y parcheadas. | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-88901
Herramientas DefensivasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebAprendizaje y Educación
GitHuboscerd/cve-2026-88901

CVE-2026-88901

Prueba de concepto ejecutable de Spring Boot que reproduce CVE-2026-88901, una vulnerabilidad XXE (CWE-611) en Apache Camel camel-smooks, con ejecuciones de control afectadas y parcheadas.

Ver Repositorio
5hace 1 díaAún no revisado

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

CVE-2026-88901 — camel-smooks: procesamiento de entidades externas XML (XXE)

Reproductor de prueba de concepto ejecutable para la vulnerabilidad de Apache Camel en la que el formato de datos Smooks (.unmarshal().smooks(...)) y el componente Smooks (smooks:) analizaban el cuerpo XML entrante con el lector que Smooks resuelve por defecto (el analizador SAX Woodstox), el cual resuelve entidades generales y de parámetro externas y carga DTDs externos — y camel-smooks no aplicaba ninguna de las protecciones del analizador que aplican los demás componentes XML de Camel. Por lo tanto, un DOCTYPE con un subconjunto externo, o una entidad general externa, declarada en el documento XML se resuelve y se expande mientras se deserializa el cuerpo, y el contenido resuelto se vincula al resultado. Un remitente externo cuyo XML llegue a un formato de datos o endpoint de camel-smooks podría leer archivos legibles por el proceso de Camel, o hacer que el proceso emita solicitudes a hosts internos (CWE-611). No se requiere ninguna opción no predeterminada — la resolución de entidades externas era el comportamiento predeterminado.

Solo Spring Boot. Este reproductor incluye un único módulo de Camel Spring Boot. camel-smooks no tiene una extensión camel-quarkus-smooks, por lo que no hay una contraparte en Quarkus que reproducir. El módulo de Spring Boot demuestra el comportamiento afectado y el corregido.

Entorno de ejecuciónDirectorioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-smooks 4.22.0 (afectado; corregido en 4.22.1)

Qué demuestra

El driver replica la propia prueba de regresión de la corrección (SmooksDataFormatXmlSecurityTest). Se escribe un archivo marcador benigno en un directorio temporal, y un documento XML <customer> se deserializa a través del SmooksDataFormat real con el smooks-config.xml estándar (vinculando el documento a un bean Customer). El firstName del documento es una entidad externa que apunta al archivo marcador:

<!DOCTYPE customer [<!ENTITY xxe SYSTEM "file:///…/secret.txt">]>
<customer><firstName>&xxe;</firstName>…</customer>
  • Afectado: la entidad se resuelve, por lo que el contenido del archivo marcador queda vinculado a Customer.firstName — el archivo se filtró en el bean deserializado.
  • Corregido: el cuerpo se preanaliza con un DocumentBuilder reforzado (entidades externas y carga de DTD externo deshabilitadas), por lo que la entidad no se resuelve y el marcador nunca aparece.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: firstName = the marker file content; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-88901-smooks-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: firstName null, marker not leaked; >>> Not exploited

Resumen de la vulnerabilidad

PropiedadValor
Componentecamel-smooks (formato de datos y componente Smooks)
CWECWE-611 (Restricción inadecuada de la referencia a entidades externas XML)
GravedadALTA
Vector de ataqueUn remitente externo proporciona el cuerpo del mensaje XML deserializado por un formato de datos o endpoint camel-smooks que utiliza el lector XML predeterminado
ImpactoLectura de archivos locales legibles por el proceso de Camel; SSRF hacia hosts internos que el documento nombre
Versiones afectadasDesde 4.7.0 anterior a 4.18.5, desde 4.19.0 anterior a 4.22.1
Versiones corregidas4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24677
Reportado porh1ei1

Aviso: https://camel.apache.org/security/CVE-2026-88901.html

La corrección

camel-smooks ahora preanaliza el XML no confiable con un javax.xml.parsers.DocumentBuilder configurado con FEATURE_SECURE_PROCESSING y con las entidades generales externas, las entidades de parámetro externas y la carga de DTD externos deshabilitadas, y entrega a Smooks el DOM resultante, coincidiendo con la configuración segura utilizada por XmlConverter y los demás componentes XML de Camel. El endurecimiento se aplica solo cuando la configuración de Smooks analiza XML con su lector predeterminado (por lo que las configuraciones de EDI, CSV, JSON y de lector personalizado, así como la dirección de marshalling, no cambian). Una nueva opción allowExternalEntities, deshabilitada de forma predeterminada, restaura el comportamiento anterior para configuraciones heredadas de confianza.

Mitigación si no puede actualizar

No aplique camel-smooks a XML recibido de remitentes no confiables.

Descargo de responsabilidad

Este repositorio se publica con fines educativos y defensivos: para ayudar a los usuarios de Apache Camel a comprender la vulnerabilidad, verificar si se ven afectados y confirmar que la actualización la resuelve. El archivo "secret" es creado por el propio reproductor en un directorio temporal y contiene solo una cadena marcadora benigna; se elimina después de la comprobación. No utilice este material contra sistemas que no sean de su propiedad o que no opere.

Descargar herramienta