CVE-2026-71300
Apache Camel: Camel-Atmosphere-Websocket: WebSocket-Dispatch-Header-Injection
- Veröffentlicht
- 24.08.2026
- Aktualisiert
- 25.08.2026
- CNA zuweisen
- apache
- Beweise beobachtet
- 24.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 39,1 %
- 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 durch unsachgemäße Eingabevalidierung in der Apache Camel Atmosphere Websocket-Komponente. Dieses Problem betrifft Apache Camel: von 4.0.0 bis vor 4.14.9, von 4.15.0 bis vor 4.18.4, von 4.19.0 bis vor 4.22.0. Der camel-atmosphere-websocket-Producer wählt über Exchange-Header aus, an welche verbundenen WebSocket-Peers eine Nachricht zugestellt wird, und die String-Werte dieser Header lagen außerhalb des Camel-Namensraums: websocket.connectionKey und websocket.connectionKey.list sowie websocket.sendToAll, websocket.eventType und websocket.errorType. WebsocketEndpoint erweitert ServletEndpoint und erbt daher HttpHeaderFilterStrategy, das nur die Präfixe Camel und camel filtert; die gepunkteten Namen fielen daher außerhalb des gefilterten Namensraums und wurden in beiden Richtungen von jedem Consumer der HTTP-Familie durchgelassen. In einer Route, die einen HTTP-Consumer mit einem Atmosphere-Websocket-Producer verbindet, konnte ein externer Absender den List-Header liefern und die Zustellungsentscheidung des Producers übernehmen. WebsocketProducer.process testet den List-Header vor dem Einzelschlüssel-Header, sodass ein injizierter Wert den Empfänger verwarf, den die Route ausgewählt hatte: eine für einen verbundenen Client bestimmte Benachrichtigung konnte unterdrückt oder stattdessen an einen anderen Client zugestellt werden, dessen Verbindungsschlüssel der Absender kennt. Der Header muss weder ein Abfrageparameter sein noch buchstäblich als Liste geliefert werden – das HTTP-Binding von Camel wandelt beim Mapping auf den Exchange einen wiederholten Headernamen und einen in eckige Klammern gesetzten Wert in eine List um –, sodass ein gewöhnlicher eingehender HTTP-Header ausreicht, um den listenwertigen Zweig zu erreichen. Dies ist zu unterscheiden von CVE-2026-55993, das den abfrageparameterbasierten Pfad auf der Consumer-Seite derselben Komponente betrifft. Das Verhalten geht auf die Einführung dieser Konstanten zurück, die erstmals in 2.17.0 veröffentlicht wurden, und blieb bis zu diesem Fix unverändert. Benutzern wird empfohlen, auf Version 4.22.0 zu aktualisieren, die das Problem behebt. Wenn Benutzer auf dem 4.14.x-LTS-Release-Stream sind, wird empfohlen, auf 4.14.9 zu aktualisieren. Wenn Benutzer auf dem 4.18.x-Release-Stream sind, wird empfohlen, auf 4.18.4 zu aktualisieren. Für Bereitstellungen, die nicht sofort aktualisieren können, sollten die Zustellungs-Header an der Vertrauensgrenze vor dem Producer entfernt werden, beispielsweise indem removeHeaders(“websocket.*”) zwischen dem HTTP-Consumer und dem Atmosphere-Websocket-Producer platziert wird. Beachten Sie, dass der Fix die String-Werte der Header in den Camel-Namensraum umbenennt, was eine nicht abwärtskompatible Änderung für Routen darstellt, die sie als Literal-String setzen: Routen, die symbolisch auf die WebsocketConstants-Felder verweisen, sind nicht betroffen, und die Änderung ist in den Upgrade-Anleitungen dokumentiert. Zur Verteidigung in der Tiefe sollte ein nicht vertrauenswürdiger HTTP-Consumer nicht direkt mit einem WebSocket-Producer verbunden werden, dessen Zustellung headerbasiert ist, ohne vorher den Zustellungs-Namensraum zu entfernen.
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.