Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-85245 — Lauffähiger Spring-Boot-Proof-of-Concept zur Reproduktion von CVE-2026-85245, einer Offenlegung von Daten zwischen Austauschsystemen via camel-thrift, mit Vergleich zwischen betroffener und behobener Version sowie Hinweisen zur Risikominderung. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-85245
DefensivwerkzeugeSchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & Bildung
GitHuboscerd/cve-2026-85245

CVE-2026-85245

Lauffähiger Spring-Boot-Proof-of-Concept zur Reproduktion von CVE-2026-85245, einer Offenlegung von Daten zwischen Austauschsystemen via camel-thrift, mit Vergleich zwischen betroffener und behobener Version sowie Hinweisen zur Risikominderung.

Repository anzeigen
vor 1 TagNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-85245 — camel-thrift: Offenlegung von Daten zwischen Exchanges (gemeinsame defaultInstance)

Lauffähiger Proof-of-Concept-Reproducer für die Apache-Camel-Schwachstelle, bei der das Thrift-Datenformat in die gemeinsame defaultInstance des Zieltyps statt in eine frische Kopie unmarshalled wurde und dieses gemeinsame Objekt als Exchange-Body zurückgab. Da die Instanz prozessweit geteilt wird, blieb der Zustand, der beim Unmarshalling einer Nachricht geschrieben wurde, am Objekt haften und war für jede spätere Nachricht sichtbar, die denselben Typ verwendete. Felder, die in einer späteren Payload fehlten, behielten die Werte der vorherigen Nachricht, sodass Inhalte, die zu einem Absender gehörten, beim Verarbeiten der Nachricht eines anderen Absenders gelesen werden konnten, und gleichzeitige Exchanges konnten den teilweise geschriebenen Zustand des jeweils anderen beobachten. In einer Bereitstellung, die mehr als einen Mandanten oder Benutzer über dieselbe Route bedient, bedeutet das die Offenlegung der Daten einer Partei gegenüber einer anderen.

Nur Spring Boot. Es gibt keine camel-quarkus-thrift-Erweiterung, daher enthält dieser Reproducer ein einzelnes Camel-Spring-Boot-Modul. (Der Fehler liegt im ThriftDataFormat der Komponente, das laufzeitunabhängig ist.)

LaufzeitVerzeichnisStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-thrift 4.22.0 (betroffen; behoben in 4.22.1)

Was es demonstriert

Eine Route definiert ein ThriftDataFormat (gestützt auf den generierten Thrift-Typ Work) und verwendet es für jede Nachricht wieder, wie es Routen üblicherweise tun. Zwei Mandanten senden eine Nachricht darüber:

  • Mandant A: Work{num1=1, op=ADD, comment="TENANT-A-SECRET-…"} — das optionale Feld comment trägt sensible Daten;
  • Mandant B: Work{num1=3, op=SUBTRACT} — kein Feld comment.

Die Route unmarshalled die Nachricht von Mandant A, dann die von Mandant B.

  • Betroffen: Das unmarshalled Objekt von Mandant B kommt mit dem comment von Mandant A zurück — Thrift weist nur die Felder zu, die in den eingehenden Bytes vorhanden sind, und beide Nachrichten wurden in dieselbe gemeinsame Instanz deserialisiert (und als diese zurückgegeben), sodass Bs fehlendes Feld den Wert von A behielt. Die beiden Bodies sind buchstäblich dasselbe Objekt.
  • Behoben: Der comment von Mandant B ist null — jeder Exchange erhält seine eigene bereinigte Kopie.
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

Zusammenfassung der Schwachstelle

EigenschaftWert
Komponentecamel-thrift (ThriftDataFormat.unmarshal)
CWECWE-488 (Exposure of Data Element to Wrong Session)
SchweregradMITTEL
AngriffsvektorZwei Nachrichten desselben Thrift-Typs über eine Route; eine spätere Nachricht, die ein Feld auslässt, erbt den Wert der früheren
AuswirkungOffenlegung von Daten zwischen Austauschen / Mandanten; gleichzeitige Austausche können den teilweise geschriebenen Zustand des jeweils anderen beobachten
Betroffene VersionenAb 4.0.0 vor 4.18.5, ab 4.19.0 vor 4.22.1
Behobene Versionen4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24442
DanksagungClaude Security Scan Tool

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

Die generierten Thrift-Typen (Work, Operation) sind die öffentlichen Test-Fixtures aus Apache Camels eigenen camel-thrift-Tests.

Die Behebung

ThriftDataFormat.unmarshal deserialisiert nun in eine Kopie pro Austausch: TBase instance = defaultInstance.deepCopy(); instance.clear(); — und deserialisiert dann die Bytes in instance und gibt sie zurück. Jeder Austausch erhält sein eigenes geleertes Objekt, sodass kein Feld zwischen Nachrichten übertragen wird und keine zwei Austausche sich einen Body teilen.

Gegenmaßnahme, falls Sie nicht aktualisieren können

Kopieren Sie den unmarshalled Body unmittelbar nach Ausführung des Datenformats in eine neue Instanz und behalten Sie keine Referenzen auf das zurückgegebene Objekt.

Haftungsausschluss

Dieses Repository wird zu Bildungs- und Verteidigungszwecken veröffentlicht: um Apache Camel-Nutzern zu helfen, die Schwachstelle zu verstehen, zu prüfen, ob sie betroffen sind, und zu bestätigen, dass ein Upgrade sie behebt. Das „Geheimnis“ ist eine inerte, erfundene Markierungszeichenfolge. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.

Tool herunterladen