Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-85243 — Preuve de concept exécutable Spring Boot et Quarkus pour CVE-2026-85243, démontrant la rétrogradation de la vérification d'intégrité de Apache Camel camel-crypto-pgp et son correctif. | Kitploit
Outils/GitHubGitHub/oscerd/cve-2026-85243
Outils DéfensifsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCryptographieArticles et RechercheApprentissage et Éducation
GitHuboscerd/cve-2026-85243

CVE-2026-85243

Preuve de concept exécutable Spring Boot et Quarkus pour CVE-2026-85243, démontrant la rétrogradation de la vérification d'intégrité de Apache Camel camel-crypto-pgp et son correctif.

Voir le dépôt
il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-85243 — camel-crypto-pgp : contournement de la vérification d'intégrité (le paquet hérité ignore le contrôle)

Reproducteur de preuve de concept exécutable pour la vulnérabilité Apache Camel où le unmarshal() du format de données PGP vérifiait le code de détection de modification uniquement lorsque le message utilisait le paquet de données protégé par intégrité chiffré symétriquement OpenPGP. L'ancien paquet de données chiffré symétriquement ne porte pas un tel code, et le mode CFB d'OpenPGP est malléable sans celui-ci, de sorte qu'un message utilisant ce paquet hérité ignorait complètement la vérification d'intégrité. Comme le type de paquet est choisi par celui qui a produit le message, l'expéditeur — ou toute personne capable de réécrire le message en transit — décidait si la vérification d'intégrité s'appliquait ou non. L'option integrity existante ne régit que le marshalling et n'avait pas de contrepartie côté déchiffrement, de sorte qu'un déploiement ne pouvait pas exiger la protection de l'intégrité sur les messages qu'il acceptait.

RuntimeRépertoireStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-crypto-pgp 4.22.0 (affecté ; corrigé en 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-crypto-pgp (Camel 4.15.0, affecté ; contrôle corrigé CQ 3.40.0 / Camel 4.22.1)

Les deux modules démontrent le comportement affecté et corrigé.

Ce que cela démontre

Le pilote d'exploitation joue le rôle d'un expéditeur (ou d'un intermédiaire) qui produit un message PGP avec le paquet hérité en chiffrant avec integrity=false — le texte chiffré résultant ne porte aucun code de détection de modification. Il transmet ensuite ce message à une route qui le déchiffre avec la clé secrète.

  • Affecté : le message est déchiffré et son texte en clair (BENIGN-PGP-PAYLOAD-MARKER-5E1F) est renvoyé — la vérification d'intégrité a été complètement ignorée parce que l'expéditeur a choisi le paquet hérité. Le déploiement a accepté un texte chiffré qu'il ne pouvait pas vérifier.
  • Corrigé : le déchiffreur rejette le message avec une PGPException — « PGP message is not integrity protected… » — parce que la nouvelle option requireIntegrityProtection vaut true par défaut.

Les trousseaux de clés (pubring.gpg, secring.gpg, identifiant utilisateur et mot de passe tous deux sdude) sont les fixtures de test RSA-2048 publiques des propres tests camel-crypto-pgp d'Apache Camel — du matériel inerte, inclus pour que l'aller-retour soit autonome.

# 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"

Résumé de la vulnérabilité

PropriétéValeur
Composantcamel-crypto-pgp (PGPKeyAccessDataFormat.unmarshal)
CWECWE-354 (Validation incorrecte de la valeur de contrôle d'intégrité)
GravitéMOYENNE
Vecteur d'attaqueUn message produit avec l'ancien paquet de données chiffrées symétriquement (sans code de détection de modification)
ImpactRétrogradation de la vérification d'intégrité : l'expéditeur/intermédiaire décide si le contrôle d'intégrité s'exécute ; un texte chiffré malléable est accepté sans vérification
Versions affectéesDe 4.0.0 avant 4.18.5, de 4.19.0 avant 4.22.1
Versions corrigées4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24441
CréditClaude Security Scan Tool

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

Le correctif

PGPKeyAccessDataFormat.unmarshal ajoute une option requireIntegrityProtection (valeur par défaut true). Lorsqu'un message n'est pas un paquet protégé en intégrité et que l'option est activée, unmarshal lève désormais PGPException("PGP message is not integrity protected…") au lieu de le déchiffrer. Notez que signatureVerificationOption a toujours pour valeur par défaut optional, donc un message ne portant aucune signature est toujours accepté ; les deux options combinées sont ce qui confère à un message déchiffré son authenticité et pas seulement sa confidentialité. Ne définissez requireIntegrityProtection=false que pour interopérer avec un expéditeur qui émet encore l'ancien paquet, et traitez le contenu déchiffré comme non authentifié.

Atténuation si vous ne pouvez pas mettre à jour

Rejetez les messages qui n'utilisent pas le paquet protégé en intégrité avant qu'ils n'atteignent le format de données (par exemple, inspectez l'en-tête du paquet OpenPGP dans un processeur en amont de unmarshal).

Avertissement

Ce dépôt est publié à des fins éducatives et défensives : pour aider les utilisateurs d'Apache Camel à comprendre la vulnérabilité, à vérifier s'ils sont affectés et à confirmer que la mise à jour la résout. Les trousseaux de clés et les textes en clair sont des fixtures de test publiques inertes. N'utilisez pas ce matériel contre des systèmes que vous ne possédez pas ou n'exploitez pas.

Télécharger l’outil