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-85248 — Reproductor ejecutable de Spring Boot y Quarkus para CVE-2026-85248, una condición de carrera concurrente de Signature en camel-pqc que provoca la omisión de la verificación de firmas ML-DSA, con compilaciones afectadas frente a corregidas. | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-85248
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCriptografíaAprendizaje y Educación
GitHuboscerd/cve-2026-85248

CVE-2026-85248

Reproductor ejecutable de Spring Boot y Quarkus para CVE-2026-85248, una condición de carrera concurrente de Signature en camel-pqc que provoca la omisión de la verificación de firmas ML-DSA, con compilaciones afectadas frente a corregidas.

Ver Repositorio
1hace 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-85248 — camel-pqc: carrera concurrente de Signature (omisión de la verificación de firmas)

Reproductor ejecutable de prueba de concepto para la vulnerabilidad de Apache Camel en la que el productor PQC mantenía una única instancia de java.security.Signature y la usaba para cada exchange sin sincronización. Signature es stateful y no es thread-safe: update() acumula los datos que se van a firmar o verificar, y verify()/sign() consumen ese estado acumulado. Con exchanges concurrentes compartiendo una sola instancia, las llamadas update y verify de distintos mensajes se intercalan, de modo que una verificación puede completarse contra datos que pertenecen a otro exchange, o contra un búfer acumulado parcialmente. El resultado es no determinista e incluye una verificación que informa éxito para un mensaje cuya firma nunca se comprobó realmente, lo que anula la garantía que el componente existe para proporcionar. Alcanzarlo requiere únicamente tráfico concurrente a través del mismo endpoint — la condición ordinaria de una ruta Camel bajo carga.

RuntimeDirectorioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-pqc 4.22.0 (afectado; corregido en 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-pqc (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.

Qué demuestra

Una ruta firma cada mensaje con una clave post-cuántica ML-DSA y luego verifica inmediatamente la firma que acaba de producir, de modo que todo mensaje firmado legítimamente debe verificar true. El driver ejecuta 1024 de estos ciclos sign→verify de forma concurrente (16 hilos) a través de los productores pqc: compartidos.

  • Afectado: cientos de las 1024 verificaciones no devuelven true — algunas devuelven false, otras generan errores del motor de firmas — porque la única Signature stateful compartida entre exchanges concurrentes se corrompe por el intercalado. Un veredicto ya no corresponde al mensaje para el que se calculó. (La misma carrera, en la dirección peligrosa, permite que un verify() tenga éxito para datos que nunca cubrió.)
  • Corregido: los 1024 ciclos verifican, porque cada exchange usa su propia instancia de Signature.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: many of 1024 broken; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85248-pqc-signature-race-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: 0 broken; >>> 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): many broken
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: 0 broken

La carrera depende, por naturaleza, del timing; el reproductor genera suficiente concurrencia (1024 round-trips) para que se manifieste de forma fiable en la compilación afectada. Si alguna ejecución afectada muestra 0 fallos, vuelve a ejecutarla.

Resumen de la vulnerabilidad

PropiedadValor
Componentecamel-pqc (firma/verificación de PQCProducer)
CWECWE-362 (Ejecución concurrente usando un recurso compartido con sincronización incorrecta)
SeveridadMEDIA
Vector de ataqueTráfico concurrente a través del mismo endpoint pqc: que comparte una única instancia con estado de java.security.Signature
ImpactoVerificación de firma no determinista; una verificación puede informar éxito para un mensaje cuya firma nunca fue comprobada
Versiones afectadasDesde 4.12.0 antes de 4.18.5, desde 4.19.0 antes de 4.22.1
Versiones corregidas4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24445
CréditoClaude Security Scan Tool

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

La corrección

PQCProducer ya no comparte la Signature entre intercambios concurrentes. Cuando el productor creaba la instancia por sí mismo, ahora crea una nueva por intercambio (signerForExchange()); cuando el usuario configuraba una instancia (de ámbito JVM public static final), el acceso a ella está synchronized. En cualquier caso, dos intercambios no intercalan sus secuencias de init/update/verify sobre una misma instancia.

Mitigación si no puedes actualizar

Restringe la ruta afectada a un único consumidor concurrente para que dos intercambios no usen la instancia de Signature a la vez.

Descargo de responsabilidad

Este repositorio se publica con fines educativos y defensivos: ayudar a los usuarios de Apache Camel a comprender la vulnerabilidad, verificar si se ven afectados y confirmar que la actualización la resuelve. Los mensajes y las claves son fixtures locales inertes. No utilices este material contra sistemas que no sean de tu propiedad o que no operes.

Descargar herramienta