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-85317 — Prueba de concepto ejecutable de Spring Boot que reproduce CVE-2026-85317, donde la caché de tokens OAuth2 de camel-http ignora el scope, el recurso y el endpoint de tokens, además de un control parcheado. | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-85317
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAutenticaciónAprendizaje y Educación
GitHuboscerd/cve-2026-85317

CVE-2026-85317

Prueba de concepto ejecutable de Spring Boot que reproduce CVE-2026-85317, donde la caché de tokens OAuth2 de camel-http ignora el scope, el recurso y el endpoint de tokens, además de un control parcheado.

Ver Repositorio
4hace 2 díasAú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-85317 — camel-http: confusión en la caché de tokens OAuth2

Reproductor de prueba de concepto ejecutable para la vulnerabilidad de Apache Camel en la que la caché de tokens del cliente OAuth2 de camel-http — un mapa static global de la JVM — indexaba sus entradas solo por (uri, clientId, clientSecret), omitiendo los campos que realmente determinan el token: el scope solicitado, el indicador de recurso y el endpoint de token. Dos endpoints que difieren solo en esos campos compartían por tanto una entrada de caché, de modo que a un endpoint se le podía servir un token emitido para un scope diferente, un recurso diferente o por un servidor de autorización diferente — una petición que portaba una autoridad más amplia que aquella para la que el endpoint estaba configurado, o un token presentado a una parte para la que no fue emitido (CWE-524).

Solo Spring Boot. Este reproductor incluye un único módulo Camel Spring Boot. El fallo está en el cliente OAuth2 de camel-http, que también tiene una extensión camel-quarkus-http; pero en el empaquetado JVM de esa extensión las opciones de cliente oauth2* a nivel de endpoint no se aplican de la misma forma que bajo Spring Boot (el interceptor de peticiones OAuth2 que posee la caché de tokens nunca se conecta, por lo que el endpoint de token nunca se invoca) — la misma limitación documentada para CVE-2026-85251. El módulo Spring Boot demuestra el comportamiento afectado y el corregido.

RuntimeDirectorioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-http 4.22.0 (afectado; corregido en 4.22.1)

Qué demuestra

El driver replica la propia prueba de regresión de la corrección (HttpOAuth2TokenCachingTest). Dos servidores HTTP desechables se ejecutan dentro del proceso: un endpoint de token que emite un token bearer, y un objetivo que lo requiere. El verificador (/exploit/attack):

  1. realiza una primera petición al objetivo con oauth2CacheTokens=true&oauth2Scope=read — se emite un token y se almacena en caché;
  2. apaga el endpoint de token;
  3. realiza una segunda petición, idéntica salvo por oauth2Scope=read+write.
  • Afectado: la clave de caché ignora el scope, por lo que la segunda petición obtiene un acierto de caché y reutiliza el token read — tiene éxito aunque el endpoint de token ya no esté disponible (no podría emitirse ningún token nuevo).
  • Corregido: el scope forma parte de la clave, por lo que la segunda petición falla en la caché e intenta emitir un token nuevo; con el endpoint de token caído, falla al conectar (HttpHostConnectException).
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: 2nd request 200 (reused read token); >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85317-http-oauth2-token-cache-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: 2nd request HttpHostConnectException; >>> Not exploited

Resumen de la vulnerabilidad

PropiedadValor
Componentecamel-http (OAuth2ClientConfigurer, caché de tokens)
CWECWE-524 (Uso de caché que contiene información sensible)
GravedadMEDIA
Vector de ataqueUn despliegue configura más de un endpoint OAuth2 que difieren solo en el scope, el indicador de recurso o el endpoint de token; comparten la caché de tokens global de la JVM
ImpactoA un endpoint se le entrega un token emitido para un scope/recurso/servidor de autorización diferente — una autoridad más amplia que la configurada, o un token presentado a la parte equivocada
Versiones afectadasDesde 4.0.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-24456
CréditoClaude Security Scan Tool

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

La corrección

OAuth2ClientConfigurer amplía el registro de clave de caché OAuth2URIAndCredentials para incluir el endpoint de token, el scope y el indicador de recurso, de modo que las entradas ya no se comparten entre endpoints que difieren en cualquiera de esos campos.

Mitigación si no puede actualizar

Ejecute los endpoints que difieren en scope, indicador de recurso o endpoint de token en JVM separadas para que no compartan la caché estática.

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 token (xxx.yyy.zzz), el client id y el secret son marcadores de posición benignos y ambos servidores HTTP se ejecutan en proceso. No utilice este material contra sistemas que no sean de su propiedad o que no opere.

Descargar herramienta