CVE-2026-42883
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Uwierzytelniony użytkownik może uzyskać dostęp do plików z bibliotek, do których nie powinien mieć dostępu, co prowadzi do wycieku danych. Narusza to kontrolę dostępu i może ujawnić wrażliwe treści.
Rekomendacja
Zaktualizuj Audiobookshelf do wersji 2.32.2 lub nowszej, która naprawia tę podatność. Do czasu aktualizacji ogranicz uprawnienia pobierania do zaufanych użytkowników.
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-42885Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
Audiobookshelf is a self-hosted audiobook and podcast server. Prior to 2.32.2, the GET /api/libraries/:id/download endpoint validates that the requesting user has access to the library specified in the URL path, but fetches downloadable items solely by attacker-provided IDs without constraining them to that library. An authenticated user with download permission and access to any one library can exfiltrate the full file contents of items belonging to any other library, including libraries they are explicitly denied access to. This vulnerability is fixed in 2.32.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

