CVE-2026-84178
Vulnerabilidad de falsificación de petición en sitios cruzados (CSRF) en el componente OAuth de Apache Camel.
Este problema afecta a Apache Camel: desde la 4.11.0 hasta la 4.18.5 (sin incluir esta), y desde la 4.19.0 hasta la 4.22.1 (sin incluir esta).
El callback del código de autorización no incluía un parámetro state que lo vinculara a la petición de autorización que inició el flujo, y el callback tampoco comprobaba ninguno.
Leer descripción completaMostrar menos
Por tanto, un código de autorización obtenido en cualquier navegador podía canjearse en el callback y asociarse a la sesión que lo presentara, lo que constituye una falsificación de petición en sitios cruzados en el inicio de sesión: una víctima puede quedar autenticada en silencio con una identidad controlada por el atacante, de modo que las acciones que la víctima realice después y los datos que envíe acaben en la cuenta del atacante. Ese mismo manejo del callback sin validar también permitía influir en el destino de la redirección posterior a la autenticación, lo que daba lugar a una redirección abierta desde un origen de confianza. La comprobación del state se ejecuta antes de canjear el código de autorización, por lo que estas rutas son accesibles sin ninguna interacción con el proveedor de identidad.
Actualice a Apache Camel 4.23.0, que corrige el problema. Los usuarios de la rama LTS 4.18.x deben actualizar a la 4.18.5. Los usuarios de la rama LTS 4.22.x deben actualizar a la 4.22.1. La petición de autorización emite ahora un valor state vinculado a la sesión, y el callback rechaza cualquier petición cuyo state esté ausente o no coincida, deteniendo la ruta con una respuesta 400. En los despliegues que no puedan actualizarse de inmediato, finalice el flujo del código de autorización en un componente que realice su propia vinculación del state en lugar de depender del callback de Camel. Tenga en cuenta que, tras la actualización, un despliegue detrás de un proxy que elimine o reescriba la cadena de consulta del callback empezará a recibir respuestas 400, porque el parámetro state debe sobrevivir al recorrido de ida y vuelta.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 6.1
- Versión
- 3.1
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.18 %
- Percentil entre todas las CVEs puntuadas
- 7
- Fecha de la puntuación
- 20/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Exploits públicos
Hay código de explotación o plantillas de detección públicos. No es lo mismo que explotación activa confirmada (KEV), pero aumenta el riesgo: parchee con prioridad.
- Prueba de concepto en GitHub (no verificada) · Lista de pruebas de concepto en GitHub
⚠️ Las pruebas de concepto de GitHub no están verificadas: algunas son falsas o contienen malware. No las ejecute nunca fuera de un laboratorio aislado.
Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1203Exploitation for Client Executionexecution80 % - Impacto principal
T1185Browser Session Hijackingcollection60 %
El vector CVSS indica UI:R y el texto describe un CSRF de login: la víctima, mediante una petición forjada en el navegador, queda autenticada como identidad del atacante y sus acciones terminan en esa cuenta.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-352
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-84178",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-84178",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-19T18:39:52.682056Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@apache.org",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 6.1,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "security@apache.org",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache Camel",
"versions": [
{
"status": "affected",
"version": "4.11.0",
"lessThan": "4.18.5",
"versionType": "maven"
},
{
"status": "affected",
"version": "4.19.0",
"lessThan": "4.22.1",
"versionType": "maven"
}
],
"packageURL": "pkg:maven/org.apache.camel/camel-oauth",
"packageName": "org.apache.camel:camel-oauth",
"collectionURL": "https://repo.maven.apache.org/maven2",
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-19T11:17:21.917",
"references": [
{
"url": "https://camel.apache.org/security/CVE-2026-84178.html",
"source": "security@apache.org"
},
{
"url": "https://github.com/apache/camel/pull/25821",
"source": "security@apache.org"
},
{
"url": "https://github.com/apache/camel/pull/25944",
"source": "security@apache.org"
},
{
"url": "https://github.com/apache/camel/pull/25946",
"source": "security@apache.org"
},
{
"url": "https://issues.apache.org/jira/browse/CAMEL-24437",
"source": "security@apache.org"
}
],
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"type": "Secondary",
"source": "security@apache.org",
"description": [
{
"lang": "en",
"value": "CWE-352"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Cross-Site Request Forgery (CSRF) vulnerability in Apache Camel OAuth component.\n\n\n\nThis issue affects Apache Camel: from 4.11.0 before 4.18.5, from 4.19.0 before 4.22.1.\n\nThe authorization code callback did not carry a state parameter binding it to the authorization request that started the flow, and the callback did not verify one. An authorization code obtained in any browser could therefore be redeemed at the callback and associated with whichever session presented it, which is login cross-site request forgery: a victim can be silently signed in as an identity the attacker controls, so that actions the victim then performs, and data they then submit, land in the attacker's account. The same unvalidated callback handling also allowed the post-authentication redirect target to be influenced, giving an open redirect from a trusted origin. The state check runs before the authorization code is redeemed, so these paths are reachable without any interaction with the identity provider.\n\nUpgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. The authorization request now issues a state value bound to the session, and the callback rejects a request whose state is absent or does not match, stopping the route with a 400 response. For deployments that cannot upgrade immediately, terminate the authorization code flow in a component that performs its own state binding rather than relying on the Camel callback. Note that after upgrading, a deployment behind a proxy that drops or rewrites the callback query string will begin to see 400 responses, because the state parameter must survive the round trip."
}
],
"lastModified": "2026-10-19T20:45:51.597",
"sourceIdentifier": "security@apache.org"
}