CVE-2026-42885
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W Audiobookshelf (przed 2.32.2) endpoint POST /api/filesystem/pathexists używa String.startsWith() do weryfikacji, czy rozwiązana ścieżka pliku znajduje się w folderze biblioteki. Sprawdzenie zawodzi dla katalogów sąsiednich o wspólnym prefiksie nazwy (np. /audiobooks vs /audiobooks-private), pozwalając uwierzytelnionym użytkownikom z uprawnieniem do przesyłania na sondowanie istnienia plików poza autoryzowanym folderem biblioteki.
Ocena ryzyka
Uwierzytelniony użytkownik z uprawnieniem do przesyłania może wykrywać istnienie plików poza dozwolonymi granicami biblioteki, co stanowi wyciek informacji.
Rekomendacja
Zaktualizować Audiobookshelf do wersji 2.32.2 lub nowszej.
Inne podatności w Audiobookshelf
Zobacz wszystkie- CVE-2026-73085Średnie
Audiobookshelf to samodzielnie hostowany serwer audiobooków i podcastów. Przed wersją 2.36.0 funkcja jwtAuthCheck w server/auth/TokenManager.js traktuje tokeny JWT typu refresh jako tokeny dostępu bearer na punktach końcowych API i WebSocket, takich jak /api/me, zamiast ograniczać je do /auth/refresh. Pozwala to tokenom odświeżania na uwierzytelnianie jako powiązani użytkownicy. Problem naprawiono w wersji 2.36.0.
- CVE-2026-71209Wysokie
Podatność w audiobookshelf: mechanizm uwierzytelniania błędnie dopasowuje trasy GET dozwolone bez uwierzytelnienia, a CacheManager łączy zakodowane wartości do ścieżki pliku cache, co może prowadzić do nieautoryzowanego dostępu do plików.
- CVE-2026-42888Średnie
Audiobookshelf to samodzielnie hostowany serwer audiobooków i podcastów. W wersjach przed 2.32.2 punkt końcowy tworzenia podcastu w pliku server/controllers/PodcastController.js przyjmuje kontrolowaną przez użytkownika ścieżkę pliku bez wystarczającej walidacji granic, aby zapewnić, że pozostaje ona w zamierzonym katalogu biblioteki. Podatność naprawiono w wersji 2.32.2.
- CVE-2026-42887Średnie
W Audiobookshelf przed wersją 2.33.0 występuje podatność przechowywanego XSS na stronie logowania z powodu niewłaściwej sanityzacji pola authLoginCustomMessage w endpoincie /api/auth-settings. Atakujący z uprawnieniami administracyjnymi może wstrzyknąć dowolny HTML/JavaScript, który będzie renderowany na stronie logowania dla wszystkich użytkowników. Podatność naprawiono w wersji 2.33.0.
- CVE-2026-42886Średnie
W Audiobookshelf przed wersją 2.32.2 endpoint POST /api/backups/upload dekompresuje wpis details z przesłanego pliku ZIP .audiobookshelf w całości do pamięci za pomocą zip.entryData(), bez limitu rozmiaru po dekompresji. Middleware uploadu również nie ma limitu rozmiaru pliku, więc administrator może przesłać spreparowany ZIP z wysoce skompresowanym wpisem details, który po dekompresji zużywa setki megabajtów lub gigabajty pamięci, powodując awarię procesu serwera przez OOM. Podatność naprawiono w wersji 2.32.2.
- CVE-2026-42884Średnie
Audiobookshelf przed wersją 2.32.2 w endpointach GET /api/collections oraz GET /api/collections/:id zwraca kolekcje ze wszystkich bibliotek bez sprawdzania, czy użytkownik ma do nich dostęp. Uwierzytelniony użytkownik z dostępem do dowolnej biblioteki może wyliczyć i odczytać kolekcje (w tym pełne metadane książek) z bibliotek, do których jest wyraźnie ograniczony.
- CVE-2026-42883Średnie
W Audiobookshelf przed wersją 2.32.2 endpoint GET /api/libraries/:id/download sprawdza dostęp użytkownika tylko do biblioteki wskazanej w ścieżce URL, ale pobiera elementy wyłącznie na podstawie identyfikatorów podanych przez atakującego, bez ograniczania ich do tej biblioteki. Uwierzytelniony użytkownik z uprawnieniem do pobierania i dostępem do dowolnej biblioteki może wykraść pełną zawartość plików z innych bibliotek, w tym tych, do których ma jawny zakaz dostępu.
Oryginalny opis (angielski, źródło NVD)
Audiobookshelf is a self-hosted audiobook and podcast server. Prior to 2.32.2, the POST /api/filesystem/pathexists endpoint uses String.startsWith() to validate that a resolved file path is within a library folder. This check fails for sibling directories whose names share a common prefix (e.g., /audiobooks vs /audiobooks-private), allowing authenticated users with upload permission to probe file existence outside their authorized library folder boundaries. This vulnerability is fixed in 2.32.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

