CVE-2026-88872
WysokieCVSS 7.1Streszczenie
AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność cross-site request forgery w endpoincie setPassword.json.php. Nieuwierzytelnieni atakujący mogą modyfikować hasło kanału dowolnego użytkownika, wysyłając żądanie GET bez weryfikacji tokenu CSRF.
Ocena ryzyka
Atakujący może ustawić lub wyczyścić hasło kanału dowolnego użytkownika, gdy uwierzytelniony administrator odwiedzi złośliwą stronę. Prowadzi to do przejęcia kontroli nad kanałami i możliwego blokowania dostępu właścicielom.
Rekomendacja
Wprowadź weryfikację tokenu CSRF dla endpointu setPassword.json.php i wymagaj potwierdzenia operacji. Do czasu wydania poprawki rozważ ograniczenie dostępu do tego endpointu.
Inne podatności w AVideo
Zobacz wszystkie- CVE-2026-88876Wysokie
AVideo do rewizji c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność braku autoryzacji w pliku plugin/PlayerSkins/seo.php. Nieuwierzytelniony atakujący może uzyskać dostęp do źródeł wideo chronionych hasłem, wywołując getSources() bez weryfikacji hasła i pobierając bezpośredni adres URL pliku MP4.
- CVE-2026-88875Średnie
AVideo do rewizji c3edcc274c389816d434acadac07ee78eaf330c1 (master, 2026-08-23) niekompletnie oczyszcza wrażliwe pola użytkownika w odpowiedzi APIName=video. Wiersze wideo zawierają kolumny dołączone z rekordu właściciela, a API::get_api_video() wywołuje removeSensitiveUserFields() tylko gdy wywołujący nie jest uwierzytelniony i nie używa ważnego sekretu API; nigdy nie porównuje User::getId() z users_id wiersza. W rezultacie każde konto o niskich uprawnieniach może zażądać wideo innego użytkownika i otrzymać jego adres e-mail, nazwę konta (user) oraz flagi isAdmin, canUpload i canStream.
- CVE-2026-88874Wysokie
AVideo do rewizji c3edcc274c389816d434acadac07ee78eaf330c1 nie wymusza sprawdzenia hasła transmisji na żywo w endpoincie statystyk ani w źródle HLS. Funkcja Live::_getStats() zwraca nieuwierzytelnionym wywołującym klucz strumienia RTMP, flagę isPasswordProtected oraz adres URL HLS, a dołączona konfiguracja NGINX udostępnia playlistę .m3u8, klucz AES-128 i segmenty transport-stream bez uwierzytelniania.
- CVE-2026-88873Wysokie
WWBN AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność cross-site request forgery w pliku view/logArchive.json.php. Nieuwierzytelnieni atakujący mogą archiwizować logi aplikacji, wysyłając żądania GET bez weryfikacji tokenu CSRF, kopiując wrażliwe logi do publicznie dostępnego pliku ZIP i obcinając bieżący log.
- CVE-2026-88871Średnie
WWBN AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 (master, 2026-08-23) zawiera podatność CSRF w punkcie końcowym plugin/CustomizeUser/setSubscribers.json.php wtyczki CustomizeUser. Skrypt odczytuje users_id i ExtraSubscribers z $_REQUEST i wywołuje User::setExtraSubscribers() bez wymogu żądania POST ani ważnego tokenu CSRF; autoCSRFGuard() jest stosowany tylko do żądań POST do *.json.php, a mutacja nie przechodzi przez ObjectYPT::save()/isUntrustedRequest(), więc cross-origin GET kończy się sukcesem. Nieuwierzytelniony zdalny atakujący może nakłonić zalogowanego administratora do wczytania spreparowanej strony (np. tagu <img> wskazującego na endpoint) i sfałszować liczbę ExtraSubscribers wyświetlaną na kanale dowolnego użytkownika.
- CVE-2026-88870Wysokie
WWBN AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność cross-site request forgery w endpointach klucza PGP wtyczki LoginControl, które nie weryfikują tokenu CSRF. Atakujący mogą tworzyć złośliwe strony z tagami obrazów wskazującymi na savePublicKey.json.php, aby zastąpić klucz publiczny PGP 2FA zalogowanej ofiary.
- CVE-2026-88868Wysokie
AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność stored cross-site scripting we wtyczce LiveLinks, gdzie pola title i description są przechowywane bez sanityzacji. Użytkownik z uprawnieniem canStream może wstrzyknąć złośliwe skrypty, które wykonują się w przeglądarce każdego odwiedzającego stronę live-link, w tym administratorów.
- CVE-2026-88867Wysokie
WWBN AVideo w wersjach do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność stored cross-site scripting. Plik objects/categoryAddNew.json.php przekazuje parametry POST name i iconClass do Category::setName() i Category::setIconClass(), które przechowują wartości bez sanityzacji, a następnie są one odzwierciedlane jako HTML w widokach i kartach galerii.
- CVE-2026-88866Wysokie
WWBN AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność stored cross-site scripting we wtyczce LoginControl, która nie koduje nagłówka User-Agent przed zapisaniem go w historii logowań. Atakujący z dowolnym ważnym kontem może wstrzyknąć złośliwe skrypty w nagłówku User-Agent, które wykonują się w przeglądarce administratora podczas przeglądania strony historii logowań.
- CVE-2026-88865Wysokie
AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 nie weryfikuje własności restreamu w pliku getRestream.json.php, co pozwala uwierzytelnionym użytkownikom z uprawnieniem canStream generować tokeny dla dowolnych restreamów. Atakujący mogą wymienić token, aby pobrać klucze strumieni innych użytkowników z getLiveKey.json.php i publikować do ich celów YouTube, Twitch lub RTMP.
Oryginalny opis (angielski, źródło NVD)
AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 contains a cross-site request forgery vulnerability in the setPassword.json.php endpoint that allows unauthenticated attackers to modify any user's channel password by sending a GET request. Attackers can craft a malicious webpage that, when visited by an authenticated administrator, sets or clears any user's channel password without CSRF token validation.

