
Lauffähiger Proof-of-Concept-Reproducer für CVE-2026-80344 in Apache Camel camel-as2, der asynchrone MDN-SSRF und Offenlegung von Anmeldedaten mit betroffenen und korrigierten Builds demonstriert.
Lauffähiger Proof-of-Concept-Reproduzierer für die Apache-Camel-Schwachstelle, bei der der AS2-Empfänger die
asynchrone Message Disposition Notification (MDN) an eine vom Absender gelieferte Adresse (die
Receipt-Delivery-Option) ohne jegliche Einschränkung zustellte. Ein entfernter Partner wählt daher den Host, mit dem die Camel-Instanz
sich verbindet, wenn sie die MDN zustellt — Server-Side Request Forgery aus der Position des AS2-Empfängers, wodurch Hosts erreicht werden,
die nur aus dem Inneren des Netzwerks der Deployment-Umgebung routbar sind — und wenn die MDN-Zustellung mit Anmeldedaten konfiguriert ist, werden diese
Anmeldedaten an das vom Angreifer gewählte Ziel übermittelt.
| Laufzeitumgebung | Verzeichnis | Stack |
|---|---|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.5.13 + camel-as2 4.22.0 (betroffen; behoben in 4.22.1) |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.29.0 + camel-quarkus-as2 3.29.0 (Camel 4.15.0, betroffen; behobene Kontrolle 3.40.0 / Camel 4.22.1) |
Die Anwendung betreibt in einer einzigen JVM:
as2://server/listen, Port 8888), konfiguriert mit Anmeldedaten für die MDN-Zustellung;as2://client/send), der eine unsignierte (PLAIN) AS2-Nachricht sendet und eine
asynchrone MDN anfordert, wobei receiptDeliveryOption auf eine nur intern erreichbare URL zeigt (127.0.0.1:9099, ein Port,
den Docker nicht veröffentlicht — als Stellvertreter für einen Host, der nur aus dem Inneren der Deployment-Umgebung erreichbar ist);Beim betroffenen Build verbindet sich der Empfänger mit der vom Angreifer gewählten internen URL, um die MDN zuzustellen, und
übermittelt dabei seine Anmeldedaten für die MDN-Zustellung (Authorization: Basic …). Beim behobenen Build werden diese Anmeldedaten
zurückgehalten (sie werden nur an Hosts auf der Allowlist angehängt), und die neue Option asyncMdnAllowedHosts schränkt den
Zustellhost vollständig ein.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
Erwartete Ausgabe beim betroffenen Build:
Internal host connections observed:
POST /internal-mdn-sink (Authorization=Basic bWRuLXBhcnRuZXItdXNlcjpNRE4tREVMSVZFUlktU0VDUkVU)
>>> PROVEN: the AS2 receiver connected to the sender-chosen internal URL to deliver the async MDN
>>> (server-side request forgery) AND presented its configured MDN-delivery credentials ...
(Der Authorization-Wert dekodiert zu mdn-partner-user:MDN-DELIVERY-SECRET.) Beim behobenen Build zeigt die Verbindung
Authorization=null — die Anmeldedaten werden nicht mehr an den vom Absender gewählten Host übermittelt.
| Eigenschaft | Wert |
|---|---|
| Komponente | camel-as2 |
| CWE | CWE-918 (Server-Side Request Forgery); Offenlegung von Anmeldedaten (CWE-200) |
| Schweregrad | HOCH |
| Angriffsvektor | Ein AS2-Absender, der eine asynchrone MDN mit einer vom Angreifer gewählten Receipt-Delivery-Option-Adresse anfordert |
| Auswirkung | Server-Side Request Forgery vom Empfänger aus (Erreichen interner Hosts); Offenlegung der MDN-Zustellungs-Anmeldedaten gegenüber dem vom Angreifer gewählten Host |
| Betroffene Versionen | Ab 4.0.0 vor 4.18.5, ab 4.19.0 vor 4.22.1 |
| Behobene Versionen | 4.18.5, 4.22.1, 4.23.0 |
| JIRA | CAMEL-24417 |
| Danksagung | Claude Security Scan Tool |
Advisory: https://camel.apache.org/security/CVE-2026-80344.html
Das Ziel für asynchrone MDNs ist nun eingeschränkt, statt wörtlich aus der eingehenden Nachricht übernommen zu werden. Eine neue
Option asyncMdnAllowedHosts (Label security) führt die Hosts in einer Allow-List auf, an die die MDN zugestellt werden darf, und die
konfigurierten MDN-Zustellungs-Anmeldedaten werden nur angehängt, wenn das Ziel in der Allow-List steht — standardmäßig
(ohne Allow-List) werden die Anmeldedaten also niemals an einen vom Absender gewählten Host übermittelt.
Beschränken Sie die ausgehende Konnektivität vom AS2-Empfänger auf die Partner-Endpunkte, an die er berechtigterweise Quittungen zustellt, und hängen Sie an die MDN-Zustellung keine Anmeldedaten an, die für andere Hosts als diese Partner gültig sind.
Dieses Repository wird zu Bildungs- und Verteidigungszwecken veröffentlicht: um Apache-Camel-Nutzern zu helfen, die Schwachstelle zu verstehen, zu prüfen, ob sie betroffen sind, und zu bestätigen, dass ein Upgrade sie behebt. Die „Anmeldedaten" und die interne Senke sind inaktive lokale Testartefakte. Verwenden Sie dieses Material nicht gegen Systeme, die Ihnen nicht gehören oder die Sie nicht betreiben.