Zurück zu den Updates
UpdatedJul 31, 2026

CVE-2026-49042 — Updated!

PoC-Reproduzierer für CVE-2026-49042 (Apache Camel camel-langchain4j-tools): Die Tool-Call-Argumente eines per Prompt-Injection manipulierten LLM werden zu ungefilterten Exchange-Headern, wodurch der exec:-Sink der Tool-Route für RCE gekapert wird. Behoben in 4.14.8/4.18.3/4.21.0.

Teilen

CVE-2026-49042 — camel-langchain4j-tools Prompt-Injection → Header-Injection

Ausführbare Proof-of-Concept-Reproduktionen für dieselbe Apache-Camel-Schwachstelle, eine pro Laufzeitumgebung:

LaufzeitumgebungVerzeichnisStackÜbernommener SinkDemonstrierte Auswirkung
Camel Spring Bootcamel-spring-boot/Spring Boot 3.2.0 + camel-spring-boot 4.18.2exec: via CamelExecCommand*Remote-Codeausführung
Camel Quarkuscamel-quarkus/Quarkus 3.36.0 + Camel Quarkus 3.36.0 (bündelt Camel 4.20.0)http via CamelHttpUriSSRF + Offenlegung von Geheimnissen

Beide sind betroffene Versionen (behoben in 4.14.8 / 4.18.3 / 4.21.0) und zeigen denselben Defekt: LangChain4jToolsProducer#invokeTools kopiert jedes Feld der Tool-Call-Argument-JSON des Modells direkt in Exchange-Header, ohne Prüfung gegen das deklarierte Parameterschema. Das Tool deklariert einen Parameter (host), aber ein per Prompt-Injection manipuliertes Modell emittiert zusätzliche Felder, die als Camel-Control-Header landen und jeden Producer kapern, den die Tool-Route nachgelagert verwendet (CWE-20).

Es wird kein echtes LLM oder kein API-Schlüssel benötigt: Die Injection lebt vollständig in den Tool-Call-Argumenten, die ein Mock-Modell emittiert, genau wie ein per Jailbreak oder indirekter Prompt-Injection manipuliertes Modell sie produzieren würde.

Warum die beiden Varianten unterschiedliche Sinks kapern

Die Spring-Boot-Variante beweist RCE über einen exec:-Sink. Dieser Sink ist in Camel 4.20.0 (was Camel Quarkus 3.36.0 bündelt): CAMEL-23315 fügte eine Option allowControlHeaders zu camel-exec hinzu, die standardmäßig auf false steht und erstmals in 4.20.0 ausgeliefert wurde. Diese Härtung ist unabhängig von dieser CVE und behebt sie nicht — die injizierten Felder werden in 4.20.0 weiterhin zu Exchange-Headern (im Routenlog verifiziert); nur dieser eine nachgelagerte Sink hat aufgehört, seine Control-Header zu beachten. Die Quarkus-Variante kapert daher den http-Producer, der standardmäßig beachtet wird, und schmuggelt zusätzlich einen Camel-Property-Platzhalter ein, den der Producer auflöst — was zu SSRF plus Offenlegung eines echten Anwendungsgeheimnisses führt.

Jedes Unterverzeichnis ist ein eigenständiges Projekt mit eigener Dockerfile, docker-compose.yml und eigenem README. Kurz gesagt, für beide:

cd camel-spring-boot   # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

Schwachstellenübersicht

EigenschaftWert
Komponentecamel-langchain4j-tools (auch camel-langchain4j-agent, camel-spring-ai-tools)
Betroffene Klasseorg.apache.camel.component.langchain4j.tools.LangChain4jToolsProducer#invokeTools
CWECWE-20 (Unzureichende Eingabevalidierung) — ungefilterte Tool-Call-Argumente werden zu Exchange-Control-Headern
AuswirkungRCE / SSRF / beliebiges Dateischreiben, abhängig vom nachgelagerten Producer der Tool-Route
Betroffene Versionen4.8.0–4.14.7, 4.15.0–4.18.2, 4.19.0–4.20.x
Behobene Versionen4.14.8, 4.18.3, 4.21.0
JIRACAMEL-23621 (PR apache/camel#23535)
EntdeckerYu Bao (PayPal)

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

Haftungsausschluss

Diese Reproduktionsprojekte werden ausschließlich für Sicherheitsforschung und autorisierte Tests bereitgestellt, für eine öffentlich bekannt gegebene und behobene Schwachstelle. Verwenden Sie sie nicht gegen Systeme ohne ausdrückliche Erlaubnis.

Kategorien