Katalog CVE

CVE-2026-88014

ŚrednieCVSS 6.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

rclone to program wiersza poleceń do synchronizacji plików i katalogów z różnymi dostawcami chmury. Od wersji 1.72.0 do 1.75.1 metoda backendu archiwum ZIP (*Fs).readZip w backend/archive/zip/zip.go przyjmuje wartości archive/zip.File.Name z niezaufanego katalogu centralnego i ujawnia oczyszczone nazwy wpisów bez zapewnienia, że pozostają w przestrzeni nazw archiwum. Wpisy takie jak ../../etc/cron.d/evil mogą przetrwać path.Clean i stać się wartościami Object.Remote(), których fs/sync i fs/operations używają jako ścieżek względnych miejsca docelowego, pozwalając rclone copy lub sync zapisywać poza wybranym miejscem docelowym w backendach, które niezależnie nie ograniczają ścieżki. Sprawdzenie niepustego katalogu głównego używało również strings.HasPrefix bez granicy ścieżki, więc katalog główny foo mógł niepoprawnie obejmować wpisy sąsiadujące foobar. Problem naprawiono w wersji 1.75.1.

Ocena ryzyka

Atakujący może nakłonić rclone do zapisu plików poza wybranym katalogiem docelowym, co może prowadzić do nadpisania plików systemowych lub wstrzyknięcia złośliwej zawartości. Może to skutkować eskalacją uprawnień lub trwałym uszkodzeniem systemu.

Rekomendacja

Zaktualizuj rclone do wersji 1.75.1 lub nowszej. Unikaj rozpakowywania niezaufanych archiwów ZIP za pomocą rclone do czasu aktualizacji.

Inne podatności w rclone

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

rclone is a command-line program to sync files and directories to and from different cloud storage providers. From 1.72.0 until 1.75.1, the archive ZIP backend method (*Fs).readZip in backend/archive/zip/zip.go accepts archive/zip.File.Name values from an untrusted central directory and exposes cleaned entry names without ensuring that they remain inside the archive namespace. Entries such as ../../etc/cron.d/evil can survive path.Clean and become Object.Remote() values that fs/sync and fs/operations use as destination-relative paths, allowing rclone copy or sync to write outside the selected destination on backends that do not independently confine the path. The non-empty root check also used strings.HasPrefix without a path boundary, so root foo could incorrectly include sibling foobar entries. This issue is fixed in version 1.75.1.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS