„`html
Zusammenfassung
Eine kritische Sicherheitslücke in der Apache Camel Atmosphere WebSocket Komponente ermöglicht es unauthentifizierten Angreifern, über Query-Parameter manipulierte Camel-Header in den Exchange einzuschleusen. Dies führt zu Server-Side Request Forgery (SSRF) und Offenlegung sensibler Informationen wie Umgebungsvariablen und Vault-Secrets.
Betroffene Systeme
Apache Camel WebSocket-Implementierungen in folgenden Versionen:
- 4.0.0 bis 4.14.7
- 4.15.0 bis 4.18.2
- 4.19.0 bis 4.20.x
Technische Details
Der WebSocket-Consumer der camel-atmosphere-websocket-Komponente kopiert Query-Parameter direkt in die Camel Exchange Header, ohne eine HeaderFilterStrategy anzuwenden. Ein Angreifer kann dadurch Camel-interne Control-Header wie CamelHttpUri (Exchange.HTTP_URI) als Query-Parameter einschleusen.
In Routen, die den WebSocket-Consumer mit einem nachgelagerten HTTP-Producer verbinden, wird die injizierte CamelHttpUri zur Umleitung des serverseitigen HTTP-Requests zu attacker-kontrollierten Zielen (SSRF) missbraucht. Beispiele sind interne Services oder Cloud-Metadaten-Endpunkte.
Zusätzlich werden Camel Property-Placeholder in der manipulierten URI aufgelöst, wodurch Umgebungsvariablen, Anwendungseigenschaften und Vault-Secrets offengelegt werden und an den Angreifer übermittelt werden.
Empfohlene Massnahmen
Sofortmassnahmen:
- Upgrade auf Version 4.21.0 (oder 4.14.8 bzw. 4.18.3 für LTS-Releases)
- Authentifizierung auf WebSocket-Endpoints erzwingen
- Header-Filter implementieren: removeHeaders(‚Camel*‘) und removeHeaders(‚camel*‘) am Route-Anfang
- Direkte Verbindung zwischen untrusted Consumer und HTTP-Producer mit headergesteuerten Target-URIs vermeiden
Bewertung
CVSS 7.5 (High): Netzwerkgestützter Angriff ohne Authentifizierung erforderlich. Ermöglicht SSRF und Exfiltration sensibler Daten. Erfordert jedoch WebSocket-Exposure und nachgelagerten HTTP-Producer für maximalen Impact.
„`