CVE-2026-40859
Apache Camel: Camel-Vertx-Http: Unsichere Java-Deserialisierung von HTTP-Antwortkörpern über einen rohen ObjectInputStream, wenn transferException aktiviert ist
- Veröffentlicht
- 06.07.2026
- Aktualisiert
- 06.07.2026
- CNA zuweisen
- apache
- Beweise beobachtet
- 06.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 57,2 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
# Schwachstelle: Deserialisierung nicht vertrauenswürdiger Daten in Apache Camel Die Komponente `camel-vertx-http` deserialisiert HTTP-Antwortkörper mit dem Content-Type `application/x-java-serialized-object` mithilfe eines rohen `java.io.ObjectInputStream`, ohne einen `ObjectInputFilter` anzuwenden (`VertxHttpHelper.deserializeJavaObjectFromStream`). Dieser Deserialisierungspfad wird nur erreicht, wenn der Producer-Endpoint mit `transferException=true` konfiguriert ist (oder auf Komponentenebene `allowJavaSerializedObject=true` gesetzt ist) und `throwExceptionOnFailure` auf seinem Standardwert `true` belassen wird; in diesem Fall wird der Körper einer Backend-HTTP-Antwort mit einem 5xx-Status und dem Content-Type `application/x-java-serialized-object` ohne Klasseneinschränkungen deserialisiert. Ein Angreifer, der das Backend kontrolliert, mit dem der Camel-Producer kommuniziert – durch eine Man-in-the-Middle-Position auf einer unverschlüsselten (klaren HTTP-)Verbindung oder durch Kompromittierung des Backend-Dienstes – kann ein präpariertes serialisiertes Java-Objekt zurückgeben und, falls eine geeignete Gadget-Chain auf dem Klassenpfad vorhanden ist, Remote-Code-Ausführung auf dem Camel-Anwendungshost erreichen. Der Pfad ist in der Standardkonfiguration, in der `transferException` auf `false` gesetzt ist, nicht erreichbar. Diese Schwachstelle betrifft Apache Camel: von 4.0.0 vor 4.14.8, von 4.15.0 vor 4.18.3, von 4.19.0 vor 4.20.0. Benutzern wird empfohlen, auf Version 4.20.0 zu aktualisieren, die das Problem behebt. Wenn Benutzer den 4.14.x-LTS-Release-Stream verwenden, wird empfohlen, auf 4.14.8 zu aktualisieren. Wenn Benutzer den 4.18.x-Release-Stream verwenden, wird empfohlen, auf 4.18.3 zu aktualisieren. Nach der Aktualisierung ist die von beiden Hilfsprogrammen durchgeführte Deserialisierung durch einen standardmäßigen `ObjectInputFilter` eingeschränkt (Allow-List `java.**;javax.**;org.apache.camel.**;!*`), der über die neue Endpoint-Option `deserializationFilter` oder die JVM-weite Systemeigenschaft `-Djdk.serialFilter` angepasst werden kann. Für Bereitstellungen, die nicht sofort aktualisieren können: Aktivieren Sie `transferException=true` (oder `allowJavaSerializedObject=true`) nicht auf Producern, die mit nicht vertrauenswürdigen oder netzwerkerreichbaren Backends kommunizieren; stellen Sie sicher, dass Producer-Verbindungen TLS (https) verwenden, sodass eine Antwort nicht durch einen Man-in-the-Middle ersetzt werden kann; und setzen Sie dort, wo die Option erforderlich ist, eine explizite `-Djdk.serialFilter`-Allow-List (z. B. `java.**;org.apache.camel.**;!*`), um die Deserialisierung einzuschränken.
Quellen
1Reproducer für CVE-2026-40859 — Apache Camel camel-netty-http / camel-vertx-http producer-seitige unsichere Deserialisierung von HTTP-Antwortkörpern (RCE)
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.