CVE-2026-92915
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
WWBN AVideo do commita e01e41ecc zawiera błąd kontroli dostępu w objects/userVerifyEmail.php. Skrypt wyłącza wymóg logowania, pobiera users_id bezpośrednio z query stringa i wywołuje User::sendVerificationLink() bez sesji, tokenu CSRF, sprawdzenia relacji czy limitu szybkości, co pozwala nieuwierzytelnionemu atakującemu wysyłać dowolną liczbę e-maili weryfikacyjnych, enumerować konta i zapisywać tokeny odzyskiwania hasła na kontach ofiar.
Ocena ryzyka
Nieuwierzytelniony atakujący może spamować skrzynki pocztowe, enumerować konta i ich status weryfikacji oraz umieszczać aktywne tokeny odzyskiwania hasła na kontach ofiar, co może prowadzić do przejęcia konta. Brak dostępnej wersji z poprawką zwiększa ryzyko.
Rekomendacja
Brak dostępnej wersji z poprawką — rozważ wyłączenie lub ograniczenie dostępu do objects/userVerifyEmail.php oraz objects/userRecoverPassSave.json.php na poziomie serwera WWW. Monitoruj logi pod kątem nietypowych żądań weryfikacyjnych i wdroż własne limity szybkości.
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) contains a broken access control flaw in objects/userVerifyEmail.php. The script disables the login requirement ($global['ignoreUserMustBeLoggedIn'] = 1), takes users_id directly from the query string, and calls User::sendVerificationLink() with no session requirement, no CSRF/global token, no relationship check between caller and target, and no enforceRateLimit() call. The only intended throttle is keyed to the caller's own session, so cookie-less requests are never limited. An unauthenticated remote attacker can therefore cause an arbitrary number of verification emails to be sent to any account ID, and can enumerate accounts and their verification status from the three distinct JSON responses ("Verification Sent", "Already verified", "Unknown error"). In addition, createVerificationCode() invokes $user->setRecoverPass() and saves the user, so each anonymous request writes a live password-recovery token onto the targeted account; that token is embedded in base64 in the verification link emailed to the account owner and is accepted by objects/userRecoverPassSave.json.php as the credential for setting a new password.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

