CVE-2026-92581
ŚrednieCVSS 4.3Streszczenie
W AVideo do wersji 29.0, konstruktor Like::__construct() wykonuje operacje arytmetyczne na surowych wartościach żądań przed walidacją, co pozwala na desynchronizację przechowywanych głosów od liczników. Uwierzytelnieni atakujący mogą wysyłać parametry typu tablicowego, aby doprowadzić liczniki polubień do dowolnie niskich wartości, a uszkodzenie utrzymuje się do ręcznej naprawy.
Ocena ryzyka
Ryzyko manipulacji danymi – atakujący może zepsuć liczniki polubień, co może prowadzić do mylących statystyk i utraty wiarygodności.
Rekomendacja
Zaleca się aktualizację do wersji, która naprawia tę podatność, gdy tylko będzie dostępna. Tymczasowo należy ręcznie monitorować i naprawiać liczniki.
Inne podatności w AVideo
Zobacz wszystkie- CVE-2026-92913Wysokie
AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 używa kryptograficznie słabego generatora liczb pseudolosowych do tworzenia kodów aktywacji konta i parowania logowania. getRandomCode() w objects/functions.php opiera się głównie na uniqid(), co ogranicza przestrzeń kodów do około 36 x 10^6 wartości dla znanej sekundy generacji, a nieuwierzytelniony atakujący może odgadnąć ważny kod i uzyskać dostęp do konta.
- CVE-2026-92586Średnie
AVideo do wersji 29.0 nie weryfikuje uprawnień dostępu do wideo w funkcji set_api_comment, co pozwala uwierzytelnionym użytkownikom dodawać komentarze do filmów chronionych hasłem lub ograniczonych dla grup. Atakujący mogą wysyłać żądania POST do punktu końcowego API komentarzy z dowolnymi identyfikatorami wideo.
- CVE-2026-92584Średnie
AVideo do wersji 29.0 zawiera podatność na trwały cross-site scripting (XSS). Nieuwierzytelniony punkt końcowy zliczania wyświetleń zapisuje User-Agent atakującego bezpośrednio do bazy danych, a następnie jest on renderowany bez escapowania na stronie statystyk właściciela wideo i administratora, co pozwala na wykonanie złośliwego kodu w ich sesjach.
- CVE-2026-92583Średnie
AVideo do wersji 29.0 zawiera wyścig w funkcji enforceRateLimit(), która nie atomowo zwiększa liczników ograniczeń, co pozwala atakującym ominąć wszystkie limity, w tym ochronę przed brute-force na logowanie, poprzez wysyłanie równoczesnych żądań. Atakujący mogą przekroczyć limit 30 prób na 5 minut dowolną liczbę razy.
- CVE-2026-92578Wysokie
WWBN AVideo do wersji 29.0 zawiera podatność obejścia uwierzytelniania, w której przechowywany hash hasła jest akceptowany jako prawidłowe poświadczenie logowania przez dwie niezależne ścieżki kodu w loginFromRequest() i encryptPasswordVerify(). Atakujący, który uzyska wartość przechowywanego hasha users.password, może uwierzytelnić się jako dowolny użytkownik, przesyłając hash bezpośrednio do endpointów logowania, całkowicie omijając weryfikację hasła.
- CVE-2026-92577Wysokie
W AVideo do wersji 29.0 endpoint API get_api_video zawiera podatność złamanej kontroli dostępu w gałęzi clean_title, która zwraca filmy ograniczone do grup użytkowników wraz z danymi osobowymi właściciela anonimowym wywołującym. Atakujący mogą odpytywać filmy po ich publicznym slug, aby obejść ograniczenia grupowe i uzyskać wrażliwe pola użytkownika, w tym email, telefon, adres, datę urodzenia i status administratora.
- CVE-2026-89255Wysokie
AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność stored cross-site scripting w pluginie LoginControl, który nie koduje w HTML kluczy publicznych PGP wyświetlanych w elemencie textarea. Uwierzytelniony atakujący może wstrzyknąć złośliwy JavaScript, przesyłając spreparowany klucz publiczny, który wykonuje się w sesji administratora podczas przeglądania zakładki profilu użytkownika.
- CVE-2026-89253Wysokie
WWBN AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera podatność stored cross-site scripting w polu profilu użytkownika 'donationLink'. Funkcja User::setDonationLink() przechowuje wartość, a save() waliduje ją tylko przez filter_var(..., FILTER_VALIDATE_URL), co akceptuje ciągi takie jak http://evil.example/"onmouseover=alert(document.domain)//, podczas gdy getDonationLink() stosuje jedynie strip_tags() i nie koduje cudzysłowów. Uwierzytelniony użytkownik aktualizujący własny profil może przerwać atrybut href i wstrzyknąć obsługę zdarzeń wykonującą JavaScript w przeglądarce każdego odwiedzającego, w tym administratora.
- CVE-2026-89250Wysokie
WWBN AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 zawiera nieuwierzytelnioną podatność odczytu plików w endpointcie getRecordedFile.php, który strumieniuje nagrane pliki FLV z katalogu tymczasowego. Atakujący mogą wywołać endpoint ze znanym lub odgadniętym kluczem strumienia, aby pobrać nagrane pliki wideo na żywo bez uwierzytelnienia i kontroli autoryzacji.
- CVE-2026-89248Średnie
AVideo do commita c3edcc274c389816d434acadac07ee78eaf330c1 nie sprawdza uwierzytelnienia ani autoryzacji w pliku plugin/WebRTC/status.json.php. Gdy wtyczka WebRTC jest obecna, każdy nieuwierzytelniony użytkownik może uzyskać JSON zawierający ścieżkę do binarki WebRTC2RTMP, port, status pliku, zawartość logów oraz informację o osiągalności portu.
Oryginalny opis (angielski, źródło NVD)
In AVideo through 29.0, Like::__construct() performs counter arithmetic on raw request values before validation, allowing array-typed parameters to desynchronize stored votes from counters. Authenticated attackers can send array-typed like parameters followed by ordinary requests to drive video like counts arbitrarily negative, with the corruption persisting in the denormalized counter until manual repair.

