CVE-2026-86729
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
WWBN AVideo do commit e01e41ecc (brak dostępnej wersji z poprawką) udostępnia get_api_preauthorize w plugin/API/API.php jako drugą, nieudokumentowaną ścieżkę logowania. W przeciwieństwie do get_api_signIn, która egzekwuje limit 10 prób na 5 minut przez checkRateLimit(), get_api_preauthorize wykonuje tę samą kontrolę poświadczeń bez ograniczania tempa dla dowolnego klienta, co pozwala na nieograniczone zdalne zgadywanie haseł dla dowolnych kont, w tym administratora. Endpoint działa również jako wyrocznia poświadczeń: zwraca komunikat "Invalid credentials" zarówno dla poprawnych, jak i błędnych haseł, podczas gdy pole users_id w treści odpowiedzi ujawnia uwierzytelnioną tożsamość (users_id:1 przy sukcesie, users_id:0 przy porażce), a poprawne hasło ustanawia ciasteczko sesji, które pozostaje użyteczne dla uwierzytelnionych żądań API. Razem te problemy umożliwiają nieuwierzytelnione przejęcie konta przez brute-force.
Ocena ryzyka
Ryzyko obejmuje całkowite przejęcie kont administratora i innych użytkowników bez uwierzytelnienia, co może prowadzić do nieautoryzowanego dostępu do danych i pełnej kompromitacji systemu.
Rekomendacja
Zaleca się natychmiastowe wyłączenie lub usunięcie endpointu get_api_preauthorize, jeśli to możliwe, oraz wdrożenie ograniczeń tempa żądań i monitorowania pod kątem ataków brute-force.
Inne podatności w WWBN AVideo
Zobacz wszystkie- CVE-2026-89243Wysokie
WWBN AVideo (do commita c3edcc274c389816d434acadac07ee78eaf330c1) zawiera podatność stored XSS w metodzie UserGroups::setGroup_name(), która nie sanityzuje danych wejściowych group_name. Administratorzy z uprawnieniem canAdminUserGroups mogą wstrzyknąć złośliwy HTML i JavaScript, który wykonuje się w przeglądarce innych administratorów odwiedzających interfejs zarządzania użytkownikami.
- CVE-2026-86190Krytyczne
WWBN AVideo zawiera podatność uszkodzonej kontroli dostępu w punktach końcowych videoViewsInfo, która zwraca kompletne rekordy użytkowników, w tym hashe haseł, tokeny odzyskiwania i identyfikatory sesji na żywo, nieuwierzytelnionym wywołującym po podaniu parametru hash. Atakujący mogą wykorzystać ujawniony identyfikator sesji do przejęcia sesji widzów, w tym kont administratorów, oraz uzyskać wrażliwe dane osobowe wszystkich widzów.
- CVE-2026-86189Krytyczne
WWBN AVideo zawiera podatność typu path traversal w pliku notify.ffmpeg.json.php, która pozwala nieuwierzytelnionym atakującym zapisywać pliki w dowolnych lokalizacjach poprzez podanie wybranego przez siebie ścieżki w parametrze avideoRelativePath. Atakujący mogą odtworzyć dowolny wcześniej wydany szyfrogram jako token notifyCode, który jest odszyfrowywany, ale nigdy nie weryfikowany, aby ominąć uwierzytelnianie i zapisywać pliki w katalogu głównym aplikacji i podkatalogach.
- CVE-2026-85154Krytyczne
WWBN AVideo zawiera podatność uwierzytelniania, gdzie poświadczenie video_id_hash jest nie wygasającym, nieodwołalnym tokenem typu bearer, który przyznaje pełny dostęp do sesji administratora na koncie właściciela wideo. Atakujący, którzy zdobędą video_id_hash, mogą go odtwarzać w nieskończoność, aby uwierzytelnić się jako właściciel wideo z pełnymi uprawnieniami, a poświadczenie pozostaje ważne nawet po zmianie hasła przez właściciela.
- CVE-2026-116800Średnie
WWBN AVideo w wersjach przed 29.5.0 zawiera podatność typu local file inclusion, która pozwala nieuwierzytelnionym atakującym dołączyć pliki PHP spoza katalogu locale poprzez spreparowany nagłówek Accept-Language. Atakujący mogą użyć nakładających się sekwencji przejścia, takich jak ....//, aby obejść jednoprzebiegowe usuwanie w setLanguage() i wykonać istniejące pliki PHP po stronie serwera w kontekście aplikacji.
- CVE-2026-116139Średnie
WWBN AVideo w wersjach od 26.0 do 29.3.0 zawiera podatność przechowywanego cross-site scripting, która pozwala uwierzytelnionym komentującym wstrzyknąć JavaScript, ponieważ funkcja markDownToHTML() zachowuje atrybuty obsługi zdarzeń w wiodących blokach HTML. Atakujący może opublikować komentarz zaczynający się od znacznika img z obsługą onerror, co omija sanitizer inline i wykonuje się w przeglądarkach widzów w kontekście aplikacji.
- CVE-2026-114634Średnie
WWBN AVideo w wersjach przed 29.4.0 zawiera podatność typu blind server-side request forgery w funkcji getHeaderContentTypeFromURL(), ponieważ get_headers() podąża za przekierowaniami bez ponownej walidacji celów za pomocą isSSRFSafeURL(). Uwierzytelnieni użytkownicy mogący przesyłać treści mogą zapisać link do wideo wskazujący na przekierowanie, co powoduje wewnętrzne żądania GET podczas przeglądania wideo, umożliwiając skanowanie portów wewnętrznych.
- CVE-2026-114048Niskie
WWBN AVideo przed wersją 24.0 zawiera podatność cross-site request forgery w starszych endpointach, takich jak playlistStatus.php, które omijają sprawdzenie autoCSRFGuard() ograniczone do .json.php. Atakujący mogą zwabić zalogowanych użytkowników na stronę z automatycznie wysyłającym się formularzem, aby upublicznić prywatne playlisty, usunąć filmy z playlisty lub sfałszować sugestie wideo.
- CVE-2026-105089Wysokie
WWBN AVideo do wersji 29.2.0 zawiera podatność stored cross-site scripting, która pozwala użytkownikom z uprawnieniami do przesyłania plików na wstrzyknięcie skryptu poprzez ustawienie złośliwego adresu URL trailera wideo. Wartość jest renderowana bez escapowania w szablonach YouPHPFlix2 i playlistach kanałów, co pozwala atakującym na wyjście poza atrybuty onclick lub src iframe i wykonanie JavaScript w przeglądarkach ofiar.
- CVE-2026-105086Wysokie
WWBN AVideo 12.4 do 29.2.0 zawiera podatność stored cross-site scripting, która pozwala uwierzytelnionym użytkownikom przesyłającym pliki na wstrzyknięcie HTML poprzez wysyłanie podwójnie zakodowanych encji w tytułach wideo. Ponieważ funkcja safeString() usuwa tagi przed dekodowaniem encji i jest uruchamiana dwukrotnie przez setTitle() i save(), atakujący mogą przechowywać znaczniki, które wykonują się na stronach trendów, galerii, osadzania i playlist.
Oryginalny opis (angielski, źródło NVD)
WWBN AVideo through commit e01e41ecc (no patched version available) exposes get_api_preauthorize in plugin/API/API.php as a second, undocumented login path. Unlike get_api_signIn, which enforces a rate limit of 10 attempts per 5 minutes via checkRateLimit(), get_api_preauthorize performs the same credential check with no throttling for any client, allowing unlimited remote password guessing against arbitrary accounts, including admin. The endpoint also acts as a credential oracle: it returns the message "Invalid credentials" for both correct and incorrect passwords, while the users_id field in the response body discloses the authenticated identity (users_id:1 on success, users_id:0 on failure), and a correct password establishes a session cookie that remains usable for authenticated API requests. Together these issues permit unauthenticated brute-force account takeover.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

