Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-56139 — PoC-Reproducer für CVE-2026-56139 (Apache Camel camel-undertow Rest DSL): Die Rest-DSL-Bindung hard-codiert muteException=false, sodass ein konfiguriertes muteException=true ignoriert wird und eine nicht abgefangene Ausnahme ihren vollständigen Stack-Trace an den Client zurückgibt (CWE-209). Behoben in 4.14.8/4.18.3/4.21.0. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-56139
SchwachstellenanalyseExploitationInformationsbeschaffungWebsicherheitPenetrationstestsLernen & Bildung
GitHuboscerd/cve-2026-56139

CVE-2026-56139

Repository anzeigen
vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

PoC-Reproducer für CVE-2026-56139 (Apache Camel camel-undertow Rest DSL): Die Rest-DSL-Bindung hard-codiert muteException=false, sodass ein konfiguriertes muteException=true ignoriert wird und eine nicht abgefangene Ausnahme ihren vollständigen Stack-Trace an den Client zurückgibt (CWE-209). Behoben in 4.14.8/4.18.3/4.21.0.

Teilen

camel-undertow Rest DSL muteException Reproducer zur Offenlegung von Stack-Traces (CVE-2026-56139)

Dieses Projekt demonstriert eine Schwachstelle zur Offenlegung von Informationen im camel-undertow-Rest-DSL-Consumer von Apache Camel, die als CVE-2026-56139 verfolgt wird. Die Option muteException steuert, ob die Details einer nicht abgefangenen Verarbeitungsausnahme an den HTTP-Client zurückgegeben werden. Bei einem einfachen Undertow-Endpunkt funktioniert die Option — aber die Undertow-Rest DSL erstellt ihr Response-Binding mit muteException hartkodiert auf false und kopiert den konfigurierten Wert nie, sodass muteException im REST-Modus stillschweigend ignoriert wird und der vollständige Java-Stacktrace trotzdem zurückgegeben wird:

root@kitploit:~
// UndertowComponent (affected 4.18.2) — the Rest DSL binding is created without the endpoint's muteException
if (!map.containsKey("undertowHttpBinding")) {
    endpoint.setUndertowHttpBinding(new RestUndertowHttpBinding(endpoint.isUseStreaming()));  // muteException stays false
}

Da undertowHttpBinding des Endpunkts nun nicht mehr null ist, gibt UndertowEndpoint.getUndertowHttpBinding() dieses Rest-Binding unverändert zurück und führt den Zweig, der die muteException des Endpunkts darauf kopiert, niemals aus. Eine Route, die explizit muteException=true setzt, gibt also weiterhin Stacktraces preis, wenn sie über die Rest DSL bereitgestellt wird — und legt dabei interne Backend-Hostnamen, Datenbank-URLs, Hinweise auf Anmeldedaten/Vaults, Bibliotheksversionen und Quellcode-Stellen offen.

Dieser PoC veranschaulicht die Auswirkung als Informationspreisgabe über eine Fehlermeldung (CWE-209). Er ist das Rest-DSL-spezifische Gegenstück zu CVE-2026-49365 (das den muteException-Standardwert für einfache camel-netty-http- und camel-undertow-Endpunkte korrigierte); beide wurden gemeinsam unter CAMEL-23651 behoben.

Sicherheitshinweis: https://camel.apache.org/security/CVE-2026-56139.html

Schwachstellenübersicht

EigenschaftWert
Komponentecamel-undertow (Rest-DSL-Consumer)
Betroffene Klasseorg.apache.camel.component.undertow.UndertowComponent — erstellt RestUndertowHttpBinding, ohne muteException zu kopieren (die daher standardmäßig false ist)
CWECWE-209 (Generation of Error Message Containing Sensitive Information)
AuswirkungVollständiger Java-Stacktrace wird an einen nicht authentifizierten Client zurückgegeben, selbst wenn muteException=true konfiguriert ist
VoraussetzungenEin Undertow-Rest-DSL-Consumer; jede Anfrage, die eine Verarbeitungsausnahme auslöst
Betroffene VersionenVon 4.0.0 bis vor 4.14.8, von 4.15.0 bis vor 4.18.3, von 4.19.0 bis vor 4.21.0
Behobene Versionen4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23651 (PR apache/camel#23913)
DanksagungYu Bao (PayPal)

Der Fix sorgt dafür, dass der Rest-DSL-Pfad endpoint.getMuteException() in die RestUndertowHttpBinding kopiert, sodass die Rest DSL die Einstellung berücksichtigt (sowie die korrigierte Standardeinstellung true).

Die Opfer-Routen

root@kitploit:~
// Both configured with muteException=true (camel.component.undertow.mute-exception=true):
restConfiguration().component("undertow").host("0.0.0.0").port(8888);
rest("/api").get("/orders").to("direct:boom");            // Rest DSL — IGNORES muteException, leaks
from("direct:boom").process(new FailingProcessor());

from("undertow:http://0.0.0.0:8889/plain/orders")         // plain endpoint — HONOURS muteException, empty body
    .process(new FailingProcessor());

Repository-Struktur

root@kitploit:~
CVE-2026-56139/
├── pom.xml                 # camel-undertow 4.18.2
├── Dockerfile
├── docker-compose.yml      # single self-contained service
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── FailingProcessor.java   # throws an exception carrying sensitive internal detail
    │   ├── RestRoutes.java         # undertow Rest DSL (:8888) + plain undertow endpoint (:8889)
    │   └── ExploitController.java  # attacker: GETs both, shows Rest DSL leaks while plain is muted
    └── resources/
        └── application.properties  # camel.component.undertow.mute-exception=true

Voraussetzungen

  • Docker und Docker Compose
  • Java 17+ und Maven 3.8+

Reproduktionsschritte

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Erwartete Ausgabe (gekürzt)

root@kitploit:~
1) undertow Rest DSL :8888  (muteException=true, but the Rest binding hard-codes false)
     HTTP 500
     response body (NNNN bytes) — LEAKS internal detail:
       | java.lang.IllegalStateException: Inventory lookup failed: cannot connect to
       |   jdbc:postgresql://prod-db.internal:5432/inventory (user=svc_inventory, ...)
       | 	at com.example.FailingProcessor.process(FailingProcessor.java:...)
       | 	...[truncated]

2) plain undertow endpoint :8889  (same muteException=true — honoured)
     HTTP 500
     response body: <empty>

>>> Information disclosure: true

Empfohlener Fix

Aktualisieren Sie auf 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23651). Nach dem Upgrade berücksichtigt die Undertow-Rest-DSL muteException (und setzt sie standardmäßig auf true), sodass der Stacktrace nicht mehr zurückgegeben wird.

Gegenmaßnahme

Fügen Sie bis zum Upgrade einen onException(...).handled(true)-Handler (oder einen globalen Fehlerbehandler) hinzu, der eine generische Meldung anstelle des Stacktraces zurückgibt, und verlassen Sie sich bei Undertow-Rest-DSL-Consumern nicht allein auf muteException.

Haftungsausschluss

Dieser Reproducer wird ausschließlich für Sicherheitsforschung und autorisierte Tests bereitgestellt, für eine öffentlich bekannt gegebene und behobene Schwachstelle. Verwenden Sie ihn nicht gegen Systeme ohne ausdrückliche Genehmigung.

Tool herunterladen