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-85243 — Prueba de concepto ejecutable en Spring Boot y Quarkus para CVE-2026-85243, que demuestra la degradación de la verificación de integridad de Apache Camel camel-crypto-pgp y su corrección. | Kitploit
Herramientas/GitHubGitHub/oscerd/cve-2026-85243
Herramientas DefensivasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCriptografíaPapers e InvestigaciónAprendizaje y Educación
GitHuboscerd/cve-2026-85243

CVE-2026-85243

Prueba de concepto ejecutable en Spring Boot y Quarkus para CVE-2026-85243, que demuestra la degradación de la verificación de integridad de Apache Camel camel-crypto-pgp y su corrección.

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-85243 — camel-crypto-pgp: degradación de la verificación de integridad (el paquete heredado omite la comprobación)

Reproductor ejecutable de prueba de concepto para la vulnerabilidad de Apache Camel en la que el unmarshal() del formato de datos PGP verificaba el código de detección de modificaciones solo cuando el mensaje utilizaba el paquete de datos cifrados simétricamente con integridad protegida de OpenPGP. El antiguo paquete de datos cifrados simétricamente no incluye dicho código, y el modo CFB de OpenPGP es maleable sin él, por lo que un mensaje que utilizaba ese paquete heredado omitía por completo la comprobación de integridad. Dado que el tipo de paquete lo elige quien produce el mensaje, el remitente —o cualquiera capaz de reescribir el mensaje en tránsito— decidía si la comprobación de integridad se aplicaba o no. La opción integrity existente rige únicamente el marshalling y no tenía contrapartida en el lado del descifrado, por lo que un despliegue no podía exigir protección de integridad en los mensajes que aceptaba.

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

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

Qué demuestra

El controlador del exploit actúa como un remitente (o un intermediario) que produce un mensaje PGP con el paquete heredado cifrando con integrity=false — el texto cifrado resultante no incluye ningún código de detección de modificaciones. Después introduce ese mensaje en una ruta que lo descifra con la clave secreta.

  • Afectado: el mensaje se descifra y se devuelve su texto plano (BENIGN-PGP-PAYLOAD-MARKER-5E1F) — la comprobación de integridad se omitió por completo porque el remitente eligió el paquete heredado. El despliegue aceptó un texto cifrado que no podía verificar.
  • Corregido: el descifrador rechaza el mensaje con una PGPException — "PGP message is not integrity protected…" — porque la nueva opción requireIntegrityProtection tiene como valor predeterminado true.

Los llaveros (pubring.gpg, secring.gpg, con id de usuario y contraseña ambos sdude) son los fixtures de prueba RSA-2048 públicos de las propias pruebas de camel-crypto-pgp de Apache Camel — material inerte, incluido para que el ciclo completo sea autocontenido.

# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: legacy message decrypts; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85243-crypto-pgp-integrity-downgrade-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: rejected "not integrity protected"; >>> 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.15.0): legacy message decrypts
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: rejected "not integrity protected"

Resumen de la vulnerabilidad

PropiedadValor
Componentecamel-crypto-pgp (PGPKeyAccessDataFormat.unmarshal)
CWECWE-354 (Validación incorrecta del valor de verificación de integridad)
SeveridadMEDIA
Vector de ataqueUn mensaje producido con el paquete de datos cifrado simétricamente heredado (sin código de detección de modificaciones)
ImpactoDegradación de la verificación de integridad: el remitente/intermediario decide si se ejecuta la comprobación de integridad; se acepta texto cifrado maleable sin verificación
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-24441
CréditoClaude Security Scan Tool

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

La corrección

PGPKeyAccessDataFormat.unmarshal añade una opción requireIntegrityProtection (por defecto true). Cuando un mensaje no es un paquete protegido por integridad y la opción está habilitada, unmarshal ahora lanza PGPException("PGP message is not integrity protected…") en lugar de descifrarlo. Tenga en cuenta que signatureVerificationOption sigue teniendo como valor predeterminado optional, por lo que un mensaje que no lleva firma sigue siendo aceptado; las dos opciones juntas son lo que otorga autenticidad a un mensaje descifrado y no solo confidencialidad. Establezca requireIntegrityProtection=false únicamente para interoperar con un remitente que aún emite el paquete heredado, y trate el contenido descifrado como no autenticado.

Mitigación si no puede actualizar

Rechace los mensajes que no utilicen el paquete protegido por integridad antes de que lleguen al formato de datos (por ejemplo, inspeccione la cabecera del paquete OpenPGP en un procesador antes de unmarshal).

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. Los llaveros y el texto plano son fixtures de prueba públicos e inertes. No utilice este material contra sistemas que no sean de su propiedad o que no opere.

Descargar herramienta