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-85245 — Preuve de concept Spring Boot exécutable reproduisant CVE-2026-85245, une divulgation de données entre échanges camel-thrift, avec comparaison entre version affectée et version corrigée et notes d'atténuation. | Kitploit
Outils/GitHubGitHub/oscerd/cve-2026-85245
Outils DéfensifsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et Éducation
GitHuboscerd/cve-2026-85245

CVE-2026-85245

Preuve de concept Spring Boot exécutable reproduisant CVE-2026-85245, une divulgation de données entre échanges camel-thrift, avec comparaison entre version affectée et version corrigée et notes d'atténuation.

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-85245 — camel-thrift : divulgation de données entre échanges (defaultInstance partagé)

Reproducteur de preuve de concept exécutable pour la vulnérabilité Apache Camel où le format de données Thrift démarshalait dans le defaultInstance partagé du type cible plutôt que dans une copie fraîche, et renvoyait cet objet partagé comme corps de l'échange. Comme l'instance est partagée à l'échelle du processus, l'état écrit lors du démarshalage d'un message restait sur l'objet et était visible pour chaque message ultérieur utilisant le même type. Les champs absents d'une charge utile ultérieure conservaient les valeurs du message précédent, de sorte que le contenu appartenant à un expéditeur pouvait être lu pendant le traitement du message d'un autre expéditeur, et des échanges concurrents pouvaient observer l'état partiellement écrit de chacun. Dans un déploiement qui sert plus d'un locataire ou utilisateur via la même route, cela constitue une divulgation des données d'une partie à une autre.

Spring Boot uniquement. Il n'existe pas d'extension camel-quarkus-thrift, donc ce reproducteur fournit un unique module Camel Spring Boot. (La faille se trouve dans le ThriftDataFormat du composant, qui est indépendant du runtime.)

RuntimeRépertoirePile
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-thrift 4.22.0 (affecté ; corrigé en 4.22.1)

Ce qu'il démontre

Une route définit un seul ThriftDataFormat (adossé au type Thrift généré Work) et le réutilise pour chaque message, comme le font normalement les routes. Deux locataires envoient un message à travers elle :

  • locataire A : Work{num1=1, op=ADD, comment="TENANT-A-SECRET-…"} — le champ optionnel comment transporte des données sensibles ;
  • locataire B : Work{num1=3, op=SUBTRACT} — aucun champ comment.

La route démarshalait le message du locataire A, puis celui du locataire B.

  • Affecté : l'objet démarshalé du locataire B revient en portant le comment du locataire A — Thrift n'assigne que les champs présents dans les octets entrants, et les deux messages ont été désérialisés dans (et renvoyés comme) la même instance partagée, donc le champ manquant de B conservait la valeur de A. Les deux corps sont littéralement le même objet.
  • Corrigé : le comment du locataire B est null — chaque échange obtient sa propre copie réinitialisée.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: B sees A's secret; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85245-thrift-cross-exchange-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: B's comment is null; >>> Not exploited

Résumé de la vulnérabilité

PropriétéValeur
Composantcamel-thrift (ThriftDataFormat.unmarshal)
CWECWE-488 (Exposition d'un élément de données à une mauvaise session)
GravitéMOYENNE
Vecteur d'attaqueDeux messages du même type Thrift via une même route ; un message ultérieur omettant un champ hérite de la valeur du précédent
ImpactDivulgation de données entre échanges / entre locataires ; des échanges concurrents peuvent observer l'état partiellement écrit les uns des autres
Versions affectéesÀ partir de 4.0.0 avant 4.18.5, à partir de 4.19.0 avant 4.22.1
Versions corrigées4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24442
CréditClaude Security Scan Tool

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

Les types Thrift générés (Work, Operation) sont les fixtures de test publiques issues des propres tests camel-thrift d'Apache Camel.

Le correctif

ThriftDataFormat.unmarshal désérialise désormais dans une copie par échange : TBase instance = defaultInstance.deepCopy(); instance.clear(); — puis désérialise les octets dans instance et la retourne. Chaque échange obtient son propre objet réinitialisé, de sorte qu'aucun champ ne se propage entre les messages et que deux échanges ne partagent pas un même corps.

Atténuation si vous ne pouvez pas mettre à jour

Copiez le corps désérialisé dans une nouvelle instance immédiatement après l'exécution du format de données, et ne conservez pas de références à l'objet retourné.

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. Le « secret » est une chaîne de marqueur fictive et inerte. 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