CVE-2026-66907
Beschreibung
Relative Path-Traversal-Schwachstelle in der Apache Camel Google Storage-Komponente. Dieses Problem betrifft Apache Camel: von 4.0.0 vor 4.14.9, von 4.15.0 vor 4.18.4, von 4.19.0 vor 4.22.0. Der Camel-Google-Storage-Konsument lädt Google Cloud Storage-Objekte auf das lokale Dateisystem herunter, wenn die downloadFile Die Namensoption ist festgelegt. Diese Option wird als Ordner oder Dateiname dokumentiert, und wenn ihr Wert kein Ausdruckstoken enthält, erstellt der Verbraucher das lokale Ziel, indem er den Objektnamen anhängt: evaluationFileExpression setzt den Exchange-Dateinamen-Header auf den entfernten Objektnamen und bewertet downloadFileName + "/${file:name}". Der ${file:name}-Token gibt den Dateinamen-Header verbatim zurück, im Gegensatz zu ${file:onlyname}, der FileUtil.stripPath darauf anwendet. Der resultierende String wurde direkt an new File(result) und blob.downloadTo(file.toPath()) ohne lexikalische Normalisierung und ohne Überprüfung übergeben, ob das Ziel im konfigurierten Verzeichnis verbleibt. Der Objektname ist keine routengesteuerten Daten: Der Verbraucher listet den Bucket auf, iteriert jeden zurückgegebenen Blob und erstellt einen Austausch pro Objekt aus blob.getBlobId().getName() verbatim, und die Filteroption, die diese Namen einschränken könnte, wird überhaupt nicht angewendet, es sei denn, sie wurde explizit festgelegt. Google Cloud Storage-Objektnamen sind undurchsichtige UTF-8-Schlüssel, die der Dienst genau wie geschrieben speichert und auflistet, ohne serverseitige Kanonisierung, und ein Vorwärts-Slash ist nur eine Anzeigekonvention für Pseudo-Verzeichnisse, so dass ein Schlüssel, der Eltern-Verzeichnis-Segmente enthält, intakt bleibt. Ein Objektname, der solche Segmente enthält, wurde daher an einem Ort außerhalb der konfigurierten downloadFile aufgelöst Namensverzeichnis, so dass jeder, der in der Lage ist, die Namen im verbrauchten Bucket zu beeinflussen, dazu führt, dass Camel eine Datei an einem Ort seiner Wahl erstellt oder überschreibt, mit den Privilegien des Camel-Prozesses. Je nachdem, worauf der Prozess schreiben kann, kann das Überschreiben einer Datei außerhalb des Download-Verzeichnisses über den Verlust der Integrität dieser Datei hinaus eskalieren. Die Option downloadFileName ist ein gewöhnlicher Verbraucherparameter und trägt keinen Sicherheitsmarker, so dass den Benutzern nichts signalisiert wurde, dass sein Wert nicht als Eindämmungsgrenze durchgesetzt wurde. Der defekt ist nur für den verbraucher; der produzent hat keine download-to-file-senke. Camels andere datei-download-verbraucher camel-file, camel-ftp, camel-smb, camel-mina-sftp, camel-azure-files und die azure storage-download-pfade beschränkten ihre lokalen downloads bereits auf das konfigurierte verzeichnis mit einer pfadsegment-grenzwertprüfung; camel-google-storage war die verbleibende objektspeicher-download-senke, die nicht von dieser arbeit abgedeckt wurde. Benutzern wird empfohlen, auf Version 4.22.0 zu aktualisieren, wodurch das Problem behoben wird. Wenn sich Benutzer auf dem 4.14.x LTS-Releases-Stream befinden, wird empfohlen, ein Upgrade auf 4.14.9 durchzuführen. Wenn Benutzer auf dem 4.18.x-Releases-Stream sind, wird empfohlen, ein Upgrade auf 4.18.4 durchzuführen. Bei Bereitstellungen, die nicht sofort aktualisiert werden können, setzen Sie die Filteroption auf einen regulären Ausdruck, der ..
Quellen & weiterführende Informationen
Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.
Was ist zur Behebung zu tun?
Herstellerhinweise prüfen und das betroffene Produkt kurzfristig patchen oder kompensierende Schutzmaßnahmen aktivieren.
Empfohlene Schritte
- Betroffene Systeme identifizieren: Apache Software Foundation camel.
- Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
- Hersteller-Advisory öffnen und verfügbare Updates, Workarounds oder Deaktivierungen prüfen.
- Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.
Übergangsmaßnahmen
- Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
- WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
- Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.
- Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.