
Reproducer für CVE-2026-46584: Apache Camel camel-mail mail.smtp.* Header-Injection, die den Diebstahl von Anmeldeinformationen durch On-Path-SOCKS-Abfangen ermöglicht (behoben in 4.14.8/4.18.3/4.21.0)
mail.smtp.*-Header-InjectionAusführbare Proof-of-Concept-Reproducer für dieselbe Apache-Camel-Schwachstelle, einer pro Laufzeit:
| Laufzeit | Verzeichnis | Stack |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (bündelt Camel 4.20.0) |
Beide sind betroffene Versionen (behoben in 4.14.8 / 4.18.3 / 4.21.0) und beide demonstrieren denselben Fehler: Der
getSender()-Aufruf des Mail-Producers arbeitet jeden eingehenden mail.smtp.*-Nachrichten-Header in die
JavaMail-Sitzung ein, bevor die Verbindung aufgebaut wird. Diese Namen sind nackte, nicht mit Camel präfixierte
Zeichenfolgen, sodass der HTTP-Grenzfilter (HttpHeaderFilterStrategy, der nur Camel* entfernt) es einem
nicht authentifizierten HTTP-Client erlaubt, sie zu setzen. Zwei zusätzliche Request-Header
(mail.smtp.socks.host / mail.smtp.socks.port) tunneln die authentifizierte SMTP-Verbindung des Opfers
durch einen angreiferkontrollierten SOCKS-Proxy, der die AUTH LOGIN-Anmeldedaten im Klartext erbeutet — während
das Senden des Opfers weiterhin erfolgreich ist und das Abfangen daher unbemerkt bleibt.
Jedes Unterverzeichnis ist ein in sich geschlossenes Projekt mit eigenem Dockerfile, eigener docker-compose.yml und eigener README — der
„legitime" SMTP-Server und der SOCKS-Proxy des Angreifers laufen beide in der JVM, sodass kein externer Dienst erforderlich ist. Kurz gesagt,
für beide Varianten:
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
Advisory: https://camel.apache.org/security/CVE-2026-46584.html
Diese Reproducer werden ausschließlich für Sicherheitsforschung und autorisierte Tests zu einer öffentlich bekannt gegebenen und behobenen Schwachstelle bereitgestellt. Verwenden Sie sie nicht gegen Systeme ohne ausdrückliche Genehmigung.
| Eigenschaft | Wert |
|---|
| Komponente | camel-mail |
| CWE | CWE-20 (Fehlerhafte Eingabevalidierung) / CWE-200 (Offenlegung von Informationen) |
| Auswirkung | Eingehende mail.smtp.*-Header überschreiben die JavaMail-Sitzung → Abfangen der Übertragung, Diebstahl von Anmeldedaten, Schwächung von Vertrauen/TLS |
| Betroffene Versionen | Von 4.0.0 bis vor 4.14.8, von 4.15.0 bis vor 4.18.3, von 4.19.0 bis vor 4.21.0 |
| Behobene Versionen | 4.14.8, 4.18.3, 4.21.0 |
| JIRA | CAMEL-23522 |