Wysoki Odebrany

CVE-2026-79985

opublikowano:
modyfikacja:
Ocena CVSS
7.4
Wysoki · v3.1
wektor: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

Luka w zabezpieczeniach Nieprawidłowe ograniczenie nazwy ścieżki do katalogu z ograniczeniami („Path Traversal”) w komponencie Apache Camel SMB.



Ten problem dotyczy Apache Camel: od 4.2.0 przed 4.18.5, od 4.19.0 przed 4.22.1.



Konsumenci plików zdalnych Camel odpytują katalog na zdalnym serwerze i budują bezwzględną zdalną ścieżkę każdego pliku, łącząc skonfigurowany katalog z nazwą pliku podaną na liście katalogów serwera. Ta konkatenacja (FtpUtils.absoluteFilePath i GenericFileConsumer) nie stosowała żadnej normalizacji leksykalnej ani nie sprawdzała, czy wynik pozostał w odpytywanym katalogu, a wynikowa ścieżka stała się operandem dla każdej kolejnej zdalnej operacji na pliku: pobieranie (FtpOperations.retrieveFile / SftpOperations, osiągane z GenericFileConsumer, skąd nazwa pobierania jest pobierana dosłownie GenericFile.getAbsoluteFilePath), usuwanie w przypadku usunięcia=true (GenericFileDeleteProcessStrategy) i zmiana nazwy w przypadku skonfigurowania przenoszenia, preMove, moveFailed lub readLock=rename (GenericFileProcessStrategySupport i GenericFileRenameExclusiveReadLockStrategy). Ani isValidFile, ani isMatched nie przeprowadziły żadnej kontroli bezpieczeństwa. Wpis na liście, który nie jest pojedynczym segmentem ścieżki, jest zatem rozpoznawany jako ścieżka poza skonfigurowanym katalogiem odpytywania, co powoduje, że Camel czyta, usuwa lub zmienia nazwy plików poza nim przy użyciu własnych poświadczeń punktu końcowego. Nazwa wpisu nie jest danymi kontrolowanymi przez trasę. Jest dostarczany przez zdalny serwer, a kanał kontrolny FTP nie zapewnia żadnej ochrony integralności, więc atakujący znajdujący się na ścieżce może przepisać odpowiedź LIST bez posiadania żadnych poświadczeń; skompromitowany, złośliwy serwer z wieloma dzierżawcami lub serwer oparty na wirtualnym systemie plików może bezpośrednio wyemitować taką nazwę. Pobieranie jest możliwe w domyślnej konfiguracji konsumenckiej, ponieważ zdalni konsumenci pobierają każdy wymieniony plik; usunięcie i zmiana nazwy dodatkowo wymagają jednej z powyższych opcji dyspozycji, z których wszystkie są wspólne. Ucieczka z katalogu, w którym Camel został skonfigurowany do odpytywania, jest bezwarunkowa, natomiast ucieczka z granicy własnego konta serwera zależy dodatkowo od tego, czy ten serwer ogranicza konto. Opcja jailStartingDirectory, która jest udokumentowana jako ograniczająca Camela do katalogu początkowego i jest domyślnie włączona, podlega nadzorowi producenta zapisuje i, ponieważ zabezpieczenie localWorkDirectory działa, konsumenci pobierają do lokalnego katalogu roboczego - ale nie ograniczała tego zdalnego operandu, więc jego nazwa i opis obejmowały granicę, która nie była tutaj egzekwowana. Ten sam punkt wejścia został już rozpoznany po stronie lokalnej: ścieżka pobierania localWorkDirectory została ograniczona, tak że nazwa pliku zdalnego zawierająca segmenty katalogu nadrzędnego nie mogła zostać rozpoznana poza lokalnym katalogiem roboczym. Zdalny operand stanowił pozostałą połowę tej powierzchni. Ten artefakt udostępnia schemat smb. Konsument przegląda listę akcji samodzielnie, a nie za pośrednictwem RemoteFileConsumer, pomijając tylko dokładne „.” i „..”, więc nazwa zawierająca segmenty przejścia w dowolnej innej formie została połączona bez zaznaczenia. Osiągnięcie tego wymaga serwera, który emituje nazwę listy, która nie jest pojedynczym segmentem ścieżki, czego nie robi zgodna implementacja SMB2; ekspozycję skorygowano na tej samej podstawie, co w przypadku innych konsumentów korzystających ze zdalnych plików, a nie na podstawie zademonstrowanego dowodu słuszności koncepcji w odniesieniu do tego programu.



Uaktualnij do Apache Camel 4.23.0, co rozwiąże problem. Użytkownicy strumienia wydań 4.22.x powinni dokonać aktualizacji do wersji 4.22.1. Użytkownicy strumienia wydań 4.18.x LTS powinni dokonać aktualizacji do wersji 4.18.5. Strumień 4.14.x dobiegł końca i nie otrzymuje tej poprawki; użytkownicy powinni przejść do strumienia obsługiwanych wydań.

>_ Słabości (CWE)

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org