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-88901 — Lauffähiger Spring-Boot-Proof-of-Concept zur Reproduktion von CVE-2026-88901, einer XXE-Schwachstelle (CWE-611) in Apache Camel camel-smooks, mit Kontrollläufen für die verwundbare und die gepatchte Version. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-88901
DefensivwerkzeugeSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitLernen & Bildung
GitHuboscerd/cve-2026-88901

CVE-2026-88901

Lauffähiger Spring-Boot-Proof-of-Concept zur Reproduktion von CVE-2026-88901, einer XXE-Schwachstelle (CWE-611) in Apache Camel camel-smooks, mit Kontrollläufen für die verwundbare und die gepatchte Version.

Repository anzeigen
5vor 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-88901 — camel-smooks: XML External Entity (XXE)-Verarbeitung

Lauffähiger Proof-of-Concept-Reproduzierer für die Apache-Camel-Schwachstelle, bei der das Smooks-Datenformat (.unmarshal().smooks(...)) und die Smooks-Komponente (smooks:) den eingehenden XML-Body mit dem Reader parsten, den Smooks standardmäßig auflöst (dem Woodstox-SAX-Parser), der externe allgemeine und Parameter-Entities auflöst und externe DTDs lädt — und camel-smooks wandte keine der Parser-Härtungen an, die die anderen Camel-XML-Komponenten anwenden. Ein DOCTYPE mit einer externen Subset oder eine externe allgemeine Entity, die im XML-Dokument deklariert ist, wird daher während des Unmarshallings des Bodys aufgelöst und expandiert, und der aufgelöste Inhalt wird in das Ergebnis gebunden. Ein externer Absender, dessen XML ein camel-smooks-Datenformat oder einen Endpoint erreicht, könnte Dateien lesen, die für den Camel-Prozess lesbar sind, oder den Prozess dazu bringen, Anfragen an interne Hosts zu senden (CWE-611). Es ist keine Nicht-Standard-Option erforderlich — das Auflösen externer Entities war das Standardverhalten.

Nur Spring Boot. Dieser Reproduzierer enthält ein einzelnes Camel-Spring-Boot-Modul. camel-smooks hat keine camel-quarkus-smooks-Erweiterung, daher gibt es kein Quarkus-Pendant zur Reproduktion. Das Spring-Boot-Modul demonstriert das betroffene und das behobene Verhalten.

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

Was es demonstriert

Der Treiber spiegelt den eigenen Regressionstest des Fixes (SmooksDataFormatXmlSecurityTest). Eine harmlose Marker-Datei wird in ein temporäres Verzeichnis geschrieben, und ein XML-<customer>-Dokument wird durch das echte SmooksDataFormat mit der mitgelieferten smooks-config.xml unmarshalled (wobei das Dokument in ein Customer-Bean gebunden wird). Der firstName des Dokuments ist eine externe Entity, die auf die Marker-Datei verweist:

<!DOCTYPE customer [<!ENTITY xxe SYSTEM "file:///…/secret.txt">]>
<customer><firstName>&xxe;</firstName>…</customer>
  • Betroffen: Die Entität wird aufgelöst, sodass der Inhalt der Marker-Datei an Customer.firstName gebunden wird — die Datei gelangt in das unmarshallisierte Bean.
  • Behoben: Der Body wird mit einem gehärteten DocumentBuilder vorab geparst (externe Entitäten und das Laden externer DTDs deaktiviert), sodass die Entität nicht aufgelöst wird und der Marker nie erscheint.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: firstName = the marker file content; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-88901-smooks-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: firstName null, marker not leaked; >>> Not exploited

Zusammenfassung der Schwachstelle

EigenschaftWert
Komponentecamel-smooks (Smooks-Datenformat und -Komponente)
CWECWE-611 (Improper Restriction of XML External Entity Reference)
SchweregradHOCH
AngriffsvektorEin externer Absender liefert den XML-Nachrichtentext, der von einem camel-smooks-Datenformat oder -Endpoint unter Verwendung des Standard-XML-Readers unmarshalled wird
AuswirkungLesen lokaler Dateien, die für den Camel-Prozess lesbar sind; SSRF zu internen Hosts, die das Dokument benennt
Betroffene VersionenVon 4.7.0 vor 4.18.5, von 4.19.0 vor 4.22.1
Behobene Versionen4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24677
Gemeldet vonh1ei1

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

Die Behebung

camel-smooks parst nicht vertrauenswürdiges XML nun vorab mit einem javax.xml.parsers.DocumentBuilder, der mit FEATURE_SECURE_PROCESSING konfiguriert ist und bei dem externe allgemeine Entitäten, externe Parameterentitäten und das Laden externer DTDs deaktiviert sind, und übergibt Smooks das resultierende DOM — entsprechend der sicheren Konfiguration, die von XmlConverter und den anderen Camel-XML-Komponenten verwendet wird. Die Härtung greift nur, wenn die Smooks- Konfiguration XML mit ihrem Standard-Reader parst (sodass EDI-, CSV-, JSON- und benutzerdefinierte Reader-Konfigurationen sowie die Marshalling-Richtung unverändert bleiben). Eine neue Option allowExternalEntities, standardmäßig deaktiviert, stellt das vorherige Verhalten für vertrauenswürdige Legacy-Konfigurationen wieder her.

Gegenmaßnahmen, wenn Sie nicht aktualisieren können

Wenden Sie camel-smooks nicht auf XML an, das von nicht vertrauenswürdigen Absendern empfangen wurde.

Haftungsausschluss

Dieses Repository wird zu Bildungs- und Verteidigungszwecken veröffentlicht: um Apache Camel-Benutzern zu helfen, die Schwachstelle zu verstehen, zu überprüfen, ob sie betroffen sind, und zu bestätigen, dass ein Upgrade sie behebt. Die „secret“-Datei wird vom Reproducer selbst in einem temporären Verzeichnis erstellt und enthält nur eine harmlose Marker-Zeichenkette; sie wird nach der Prüfung gelöscht. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.

Tool herunterladen