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
Herramientas/GitHubGitHub/oscerd/cve-2026-85315
Herramientas DefensivasEscáneres de Vulnerabilidades WebAnálisis de VulnerabilidadesRecopilación de InformaciónAprendizaje y Educación
GitHuboscerd/cve-2026-85315

CVE-2026-85315

Reproductor ejecutable de prueba de concepto para CVE-2026-85315, que demuestra la divulgación de mensajes de excepción del consumidor de camel-grpc (CWE-209) en Camel Spring Boot y Quarkus.

Ver Repositorio
2hace 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-85315 — camel-grpc: divulgación de excepciones del consumidor

Reproductor de prueba de concepto ejecutable para la vulnerabilidad de Apache Camel en la que, cuando una ruta detrás de un consumidor gRPC fallaba, el mensaje de la excepción de la ruta se copiaba en la descripción del Status de gRPC. A diferencia de la causa del estado (withCause(...)), que permanece local en el servidor, la descripción se transmite al cliente que realiza la llamada, por lo que un llamador externo capaz de provocar un fallo podía leer el mensaje de error interno — en la práctica, nombres de clases y paquetes, rutas de archivos, nombres de host y detalles de conexión contenidos en los mensajes de excepción (CWE-209). Este es el miembro gRPC de la misma familia de excepciones de consumidor no silenciadas que los avisos de knative, mina y CXF publicados junto a él.

Entorno de ejecuciónDirectorioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-grpc 4.22.0 (afectado; corregido en 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-grpc (Camel 4.22.0, afectado; control corregido CQ 3.40.0 / Camel 4.22.1)

Ambos módulos demuestran el comportamiento afectado y el corregido frente al consumidor real de camel-grpc.

Qué demuestra

Cada módulo ejecuta un consumidor de camel-grpc (el servicio PingPong del propio proto de pruebas de camel-grpc) cuya ruta siempre falla con un mensaje de aspecto interno:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

El endpoint verificador /exploit/attack actúa como un cliente gRPC externo: llama a PingSyncSync, captura la StatusRuntimeException e informa el código Status y la descripción que el servidor devolvió.

  • Afectado: la descripción del estado es el mensaje de la excepción de la ruta textualmente — la URL del almacén de respaldo y la cuenta de servicio se filtran al cliente.
  • Corregido: la nueva opción de consumidor muteException tiene como valor predeterminado true, por lo que la descripción es la genérica "Exchange processing failed" y el mensaje real nunca sale del servidor (se conserva únicamente en la causa del estado local).
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): description leaks the internal message
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"

Cada módulo sirve el verificador en 8080 y ejecuta el consumidor camel-grpc en 50051 dentro del mismo proceso; solo se publica 8080.

Resumen de la vulnerabilidad

PropiedadValor
Componentecamel-grpc (GrpcMethodHandler, consumidor)
CWECWE-209 (Generación de mensaje de error que contiene información sensible)
SeveridadMEDIA
Vector de ataqueUn cliente gRPC externo provoca un fallo de ruta y lee la descripción del Status transmitido
ImpactoEl detalle del error interno (nombres de clase/paquete, rutas, nombres de host, detalle de conexión) se divulga al llamador
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-24478
CréditoClaude Security Scan Tool

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

El módulo afectado de Quarkus está construido sobre CQ 3.39.0 (Camel 4.22.0). El control parcheado es CQ 3.40.0 (Camel 4.22.1).

La corrección

GrpcMethodHandler añade una opción de consumidor muteException (por defecto true). Cuando está habilitada, un intercambio fallido produce la descripción genérica "Exchange processing failed" en el estado transmitido; la excepción de la ruta sigue adjuntándose localmente mediante withCause(...), que gRPC no envía al cliente. Establezca muteException=false en el endpoint para restaurar el comportamiento anterior.

Mitigación si no puede actualizar

Asigne los fallos a un estado explícito en un manejador onException para que el framework nunca copie el mensaje de la excepción en la descripción.

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 mensaje "interno" es un marcador de posición benigno (db.internal.local, svc_admin) y toda la demostración se ejecuta en un solo proceso. No utilice este material contra sistemas que no sean de su propiedad o que no opere.

Descargar herramienta