CVE-2026-69160
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
OpenList, program do listowania plików obsługujący wiele magazynów, przed wersją 4.2.4 zawiera podatność polegającą na użyciu strings.HasPrefix(requested_path, user.BasePath) bez wymuszania separatora katalogów w funkcjach tworzenia i aktualizacji udostępnień. Uwierzytelniony użytkownik z uprawnieniem CanShare i BasePath takim jak /base może przesłać ścieżkę rodzeństwa, np. /base2/secret.txt, utworzyć udostępnienie dla pliku poza zakresem i użyć publicznych handlerów pobierania lub listowania do odczytu danych poza przydzielonym katalogiem. Problem naprawiono w wersji 4.2.4.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowany dostęp do plików poza przydzielonym katalogiem, co może prowadzić do wycieku poufnych danych.
Rekomendacja
Zaleca się aktualizację OpenList do wersji 4.2.4 lub nowszej oraz przegląd istniejących udostępnień pod kątem potencjalnych naruszeń granic katalogów.
Inne podatności w OpenList
Zobacz wszystkie- CVE-2026-102663Średnie
OpenList to program do listowania plików obsługujący wiele backendów storage. W wersjach przed 4.2.4 API wyszukiwania OpenList używa porównania strings.HasPrefix bez uwzględnienia separatora ścieżki jako sprawdzenia autoryzacji zawierania ścieżek przy autoryzacji globalnie zindeksowanych wyników Bleve względem BasePath ograniczonego użytkownika. Gdy wyszukiwanie Bleve jest włączone, ograniczony uwierzytelniony użytkownik może uzyskać wyniki z sąsiedniej ścieżki, która przechodzi test prefiksu.
- CVE-2026-75602Średnie
OpenList przed wersją 4.2.3 zawiera podatność w funkcji pobierania offline, która pozwala nieuprzywilejowanemu użytkownikowi na zapis plików poza katalogiem tymczasowym, co może prowadzić do tworzenia, nadpisywania lub modyfikacji dowolnych plików zapisywalnych przez proces OpenList. Podatność wynika z braku kontroli zawartości ścieżki w nazwie pliku pochodzącej z nagłówka Content-Disposition.
- CVE-2026-73509Wysokie
OpenList, program do listowania plików obsługujący wiele magazynów, przed wersją 4.2.4, w uwierzytelnionym handlerze /api/fs/batch_rename w server/handles/fsbatch.go autoryzuje tylko katalog źródłowy utworzony przez user.JoinPath(req.SrcDir) i waliduje renameObject.NewName za pomocą checkRelativePath, ale nie waliduje kontrolowanego przez atakującego renameObject.SrcName, dostarczanego jako src_name, przed połączeniem go z autoryzowaną ścieżką i przekazaniem wyniku do fs.Rename. Użytkownik z uprawnieniami do zmiany nazw może użyć segmentów traversal w src_name, aby normalizacja ścieżki wybrała plik poza autoryzowanym katalogiem i skonfigurowaną ścieżką bazową, co skutkuje utratą integralności plików między użytkownikami, ograniczonym wpływem na dostępność i ujawnieniem istnienia plików poprzez odpowiedzi sukcesu lub błędu. Problem naprawiono w wersji 4.2.4.
Oryginalny opis (angielski, źródło NVD)
OpenList a file list program that supports multiple storage. Prior to 4.2.4, the share creation and update checks in server/handles/sharing.go use strings.HasPrefix(requested_path, user.BasePath) without enforcing a directory separator boundary. An authenticated user with CanShare permission and a BasePath such as /base can submit a sibling path such as /base2/secret.txt, create a share for the out-of-scope file, and use the public share download or list handlers to read data outside the assigned directory. This issue is fixed in version 4.2.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

