CVE-2026-102663
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Może dojść do ujawnienia nieautoryzowanych metadanych plików lub informacji o istnieniu plików, a wartość Total backendu może ujawnić dopasowanie nawet gdy inna kontrola dostępu usunie pojedynczy wynik. Stanowi to naruszenie poufności danych.
Rekomendacja
Należy zaktualizować OpenList do wersji 4.2.4 lub nowszej, która naprawia tę podatność. Zaleca się również przegląd konfiguracji uprawnień użytkowników i ograniczenie dostępu do globalnego indeksu wyszukiwania.
Inne podatności w OpenList
Zobacz wszystkie- 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-69160Średnie
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.
- 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 is a file list program that supports multiple storage backends. Prior to 4.2.4, the OpenList search API uses a non-separator-aware strings.HasPrefix comparison as a path containment authorization check when authorizing globally indexed Bleve results against a restricted user's BasePath. When Bleve search is enabled and a restricted authenticated user searches the global index for content in a sibling path, the user causes a globally indexed sibling-path result to pass the prefix check. The strings.HasPrefix(node.Parent, user.BasePath) predicate allows a sibling path such as /base2 to be treated as contained by /base. Unauthorized file metadata or file-existence information can be disclosed, and the backend Total value can reveal a match even when another access check removes the individual result. This issue is fixed in version 4.2.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

