CVE-2026-93987
NiskieCVSS 3.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
rclone w wersjach od 1.56.0 do 1.75.0 zawiera podatność path traversal w wtyczce wolumenów `rclone serve docker`. Funkcja newVolume() w cmd/serve/docker/volume.go oblicza punkt montowania jako filepath.Join(drv.root, name) na podstawie pola `name` z żądania Docker VolumeDriver.Create, nie sprawdzając, czy wynik pozostaje w drv.root (domyślnie /var/lib/docker-volumes/rclone), a następnie checkMountpoint() tworzy ten katalog przez file.MkdirAll przed montowaniem. Nazwa wolumenu zawierająca odpowiednio dużo komponentów `..` (np. "../../../../../../etc") pozwala wyjść poza katalog bazowy, umożliwiając osobie mogącej wysłać żądanie VolumeDriver.Create do gniazda wtyczki utworzenie katalogu i zamontowanie zdalnego systemu plików w dowolnej ścieżce hosta. Volume.restoreState() miało tę samą lukę przy wczytywaniu zapisanego stanu wolumenów. Naprawiono w 1.75.1.
Ocena ryzyka
Osoba mogąca wysłać żądanie VolumeDriver.Create do gniazda wtyczki (zwykle demon Docker lub obciążenie w środowisku wielodostępnym) może zmusić uprzywilejowany proces rclone do utworzenia katalogu i zamontowania zdalnego systemu plików w dowolnej ścieżce hosta, przesłaniając lub zakłócając katalogi systemowe.
Rekomendacja
Zaktualizuj rclone do wersji 1.75.1 lub nowszej. Ogranicz dostęp do gniazda wtyczki `rclone serve docker` wyłącznie do zaufanych procesów i rozważ uruchamianie wtyczki z minimalnymi uprawnieniami.
Inne podatności w rclone
Zobacz wszystkie- CVE-2026-88044Krytyczne
rclone to program wiersza poleceń do synchronizacji plików i katalogów z różnymi dostawcami chmury. Od wersji 1.70.0 do 1.75.1 interfejs serve/start RC akceptuje ustawienia proxyOpt.AuthProxy dla poszczególnych serwerów, ale konstruktory FTP i S3 w cmd/serve/ftp/ftp.go oraz cmd/serve/s3/server.go nieprawidłowo sprawdzają globalną wartość proxy.Opt.AuthProxy. Gdy wartość globalna jest pusta, lokalny dla żądania proxy uwierzytelniające jest ignorowane: FTP przechodzi do stałego systemu plików z użytkownikiem anonymous i dowolnym hasłem, a S3 z AuthKey udostępnia stały system plików RC zamiast backendu wybranego przez proxy. Dedykowane serwery wiersza poleceń konfigurujące opcję globalną nie są dotknięte. Problem naprawiono w wersji 1.75.1.
- CVE-2026-88018Krytyczne
rclone to program wiersza poleceń do synchronizacji plików i katalogów z różnymi dostawcami chmury. Przed wersją 1.75.1 rclone serve s3 skonfigurowany z --auth-proxy, ale bez --auth-key, pozwala authPairMiddleware zarejestrować dowolny wybrany przez klienta accessKeyID z pustym ws.s3Secret. gofakes3 następnie weryfikuje sygnaturę SigV4 żądania względem tego samego pustego sekretu, podczas gdy Server.auth przekazuje identyfikator klucza dostępu jako zarówno użytkownika, jak i wartość uwierzytelniającą do proxy bez niezależnego sekretu dla tożsamości. Nieuwierzytelniony atakujący sieciowy może zatem wybrać dowolny klucz dostępu, podpisać pustym sekretem i dotrzeć do dowolnego backendu, który skrypt auth-proxy rozwiąże dla tej tożsamości. Problem naprawiono w wersji 1.75.1.
- CVE-2026-49980Krytyczne
Rclone w wersjach od 1.46.0 do 1.74.2 zawiera podatność w trybie serwera (rcd --rc-serve), która pozwala nieuwierzytelnionym żądaniom GET i HEAD na wykonywanie dowolnych poleceń systemowych. Atakujący może wykorzystać specjalnie spreparowane URL-e zawierające konfigurację zdalnego magazynu, która podczas inicjalizacji wykonuje lokalne polecenia.
- CVE-2026-41179Krytyczne
W Rclone od wersji 1.48.0 do 1.73.4 punkt końcowy RC `operations/fsinfo` jest dostępny bez wymaganego uwierzytelnienia i akceptuje kontrolowane przez atakującego dane wejściowe `fs`. Nieuwierzytelniony atakujący może wykorzystać tę podatność do wykonania dowolnego polecenia lokalnego na serwerze poprzez backend WebDAV, który uruchamia `bearer_token_command` podczas inicjalizacji.
- CVE-2026-41176Krytyczne
W Rclone, punkcie końcowym RC `options/set`, brakuje wymaganego uwierzytelnienia (`AuthRequired: true`), co pozwala na modyfikację globalnej konfiguracji środowiska wykonawczego. Nieuwierzytelniony atakujący może ustawić `rc.NoAuth=true`, wyłączając w ten sposób bramę autoryzacji dla wielu metod RC, które normalnie wymagają uwierzytelnienia, co prowadzi do nieautoryzowanego dostępu do wrażliwych funkcji administracyjnych.
- CVE-2026-116196Średnie
Rclone przed wersją 1.75.2 zawiera podatność polegającą na ujawnieniu poświadczeń w backendzie b2, która ujawnia aktywny token autoryzacyjny konta i klucze SSE-C przy przekierowaniach HTTP z hostów --b2-download-url. Atakujący mogą zaobserwować przekierowanie z HTTPS na HTTP w obrębie tego samego hosta, aby przechwycić token B2 w postaci jawnej, lub otrzymać przekierowania między hostami ujawniające klucze szyfrowania klienta SSE-C.
- CVE-2026-116195Średnie
Rclone przed wersją 1.75.2 zawiera podatność na path traversal w funkcji translateLink lokalnego backendu, która usuwa sufiks .rclonelink ze ścieżki po sprawdzeniu zawierania, więc nazwa może wskazywać poza katalog docelowy. Atakujący mogą umieścić katalog o nazwie ...rclonelink w drzewie źródłowym synchronizowanym z --links i --metadata, aby zmienić właściciela, znaczniki czasu i xattrs katalogu nadrzędnego miejsca docelowego.
- CVE-2026-116194Średnie
Rclone od wersji 1.52.0 przed 1.75.2 zawiera podatność na cross-site request forgery w lokalnym wywołaniu zwrotnym OAuth backendu pCloud, które wyłącza sprawdzanie stanu i ufa parametrowi hostname. Złośliwe strony internetowe mogą wysłać żądanie bezstanowe do portu 53682 podczas autoryzacji, wprowadzając tokeny i hosty API atakującego, aby późniejsze transfery trafiały do atakującego.
- CVE-2026-116193Średnie
Rclone od wersji 1.64.0 przed 1.75.2 zawiera podatność na obejście uwierzytelniania w serve webdav, która pozwala nieuwierzytelnionym atakującym pominąć uwierzytelnianie poprzez wysyłanie żądań OPTIONS. Atakujący mogą sondować dowolne ścieżki i porównywać wartości nagłówka Allow, aby ustalić, czy pliki lub kolekcje istnieją, co umożliwia enumerację przestrzeni nazw.
- CVE-2026-116192Średnie
rclone od wersji 1.37 przed 1.74.2 zawiera podatność na server-side request forgery, która pozwala nieuwierzytelnionym atakującym przekierowywać żądania backendu http i netstorage, podając podwójny ukośnik w katalogu głównym istniejącego nazwanego remote poprzez --rc-serve. Atakujący mogą wysyłać żądania HEAD/GET do wybranych przez siebie hostów, aby odczytać odpowiedzi, przechwycić skonfigurowane niestandardowe nagłówki lub uzyskać ważne sygnatury żądań NetStorage.
Oryginalny opis (angielski, źródło NVD)
rclone versions 1.56.0 through 1.75.0 contain a path traversal vulnerability in the `rclone serve docker` volume plugin. newVolume() in cmd/serve/docker/volume.go computes a volume's mountpoint as filepath.Join(drv.root, name) from the attacker-supplied `name` field of a Docker VolumeDriver.Create request without verifying that the result stays within drv.root (default /var/lib/docker-volumes/rclone), and checkMountpoint() then creates that directory with file.MkdirAll before mounting. A volume name containing enough `..` components (e.g. "../../../../../../etc") therefore resolves outside the base directory, allowing anyone able to submit a VolumeDriver.Create request to the plugin socket — normally the Docker daemon, or a workload that can request named volumes in a multi-tenant orchestration setup — to make the privileged rclone plugin process create a directory and mount a remote filesystem specified in the same request at an arbitrary host path, shadowing or disrupting system directories. The advisory notes Volume.restoreState() had the same missing validation when reloading persisted volume state. Fixed in 1.75.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

