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-84178 — Reproductor de prueba de concepto ejecutable para CVE-2026-84178, un CSRF de inicio de sesión en la callback de código de autorización de camel-oauth de Apache Camel que canjea códigos sin verificar el estado. | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-84178
Análisis de VulnerabilidadesExplotación de Aplicaciones WebSeguridad WebAutenticaciónAprendizaje y Educación
GitHuboscerd/cve-2026-84178

CVE-2026-84178

Reproductor de prueba de concepto ejecutable para CVE-2026-84178, un CSRF de inicio de sesión en la callback de código de autorización de camel-oauth de Apache Camel que canjea códigos sin verificar el estado.

Ver Repositorio
hace 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-84178 — camel-oauth: CSRF de inicio de sesión en la callback de authorization-code (falta state)

Reproductor de prueba de concepto ejecutable para la vulnerabilidad de Apache Camel en la que la callback de authorization-code de OAuth no llevaba un parámetro state que la vinculara a la solicitud de autorización que inició el flujo, ni lo verificaba. Un authorization code obtenido en cualquier navegador podía, por tanto, canjearse en la callback y asociarse con la sesión que lo presentara — cross-site request forgery de inicio de sesión: la víctima inicia sesión silenciosamente con una identidad controlada por el atacante, de modo que las acciones y datos posteriores de la víctima acaban en la cuenta del atacante. (La misma callback no validada también permitía influir en el destino de redirección posterior a la autenticación — una redirección abierta.) Como señala el aviso, la comprobación de state se ejecuta antes de canjear el code, por lo que la diferencia es alcanzable sin ninguna interacción con el proveedor de identidad.

RuntimeDirectorioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-oauth 4.22.0 (afectado; corregido en 4.22.1), callback mediante camel-undertow
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-oauth 3.39.0 (Camel 4.22.0, afectado; control corregido 3.40.0 / Camel 4.22.1), callback mediante camel-quarkus-platform-http

Ambos módulos demuestran el comportamiento afectado y el corregido.

Qué demuestra

El procesador real y sin modificar OAuthCodeFlowCallback gestiona el endpoint de callback. Un pequeño stub OAuth se registra en el registro de Camel para que la callback se ejecute sin un proveedor de identidad activo — solo sustituye al IdP y registra cuándo se canjea un authorization code (lo que, en el flujo real, vincula la identidad resultante a la sesión que lo presenta). El atacante simplemente llama a la callback con un code y sin un state coincidente:

  • Afectado: la callback canjea el code proporcionado por el atacante y vincula la identidad a la sesión — HTTP 302 (el inicio de sesión tiene éxito). El stub registra el canje.
  • Corregido: la callback rechaza con HTTP 400 "No authorization code flow in progress" (requiere un state que coincida con la solicitud de autorización que inició esta sesión) — el code nunca se canjea.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Salida esperada en la compilación afectada:

Request: GET /callback?code=ATTACKER-SUPPLIED-AUTH-CODE   (no 'state' parameter)
Callback HTTP status: 302
>>> PROVEN: the callback redeemed the authorization code ... WITHOUT verifying a state parameter ... login CSRF.

Resumen de la vulnerabilidad

PropiedadValor
Componentecamel-oauth (callback de authorization-code, OAuthCodeFlowCallback)
CWECWE-352 (Cross-Site Request Forgery)
SeveridadMEDIA
Vector de ataqueUna solicitud de callback que transporta un authorization code sin state vinculado a la solicitud de autorización de la sesión
ImpactoCSRF de inicio de sesión (la víctima inicia sesión con una identidad controlada por el atacante); redirección abierta desde un origen de confianza
Versiones afectadasDesde 4.11.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-24437
CréditoClaude Security Scan Tool

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

La corrección

El callback ahora transporta y verifica un parámetro state de un solo uso vinculado a la solicitud de autorización que inició la sesión: expectedState = session.removeValue(OAUTH_STATE), comparado (en tiempo constante) con el parámetro de consulta state. Si no hay ningún flujo en curso, o el state no coincide, el callback rechaza la solicitud antes de canjear el código.

Mitigación si no puede actualizar

Coloque el callback detrás de un componente que imponga un vínculo CSRF de state, o no dependa del callback del flujo de código OAuth para el establecimiento de sesión, hasta que pueda actualizar.

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 proveedor de identidad simulado y el "código del atacante" son fixtures locales inertes. No utilice este material contra sistemas que no sean de su propiedad o que no opere.

Descargar herramienta