CVE-2026-45578
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W AVideo 29.0 i wcześniejszych wersjach występuje klasyczna podatność na wstrzykiwanie metaznaków powłoki. W gałęzi powiadomień YPTSocket w pliku plugin/Live/on_publish.php polecenie execAsync() jest budowane przez konkatenację ciągów, z każdym argumentem w pojedynczym cudzysłowie, ale bez wywołania escapeshellarg(). Znak ' w dowolnej z trzech interpolowanych wartości ($users_id, $m3u8, $obj->liveTransmitionHistory_id) zamyka cytowany token i pozwala atakującemu dołączyć dowolne polecenia.
Ocena ryzyka
Atakujący może zdalnie wykonać dowolne polecenia systemowe na serwerze, co prowadzi do pełnego przejęcia kontroli nad platformą AVideo, wycieku danych lub dalszego ataku na infrastrukturę.
Rekomendacja
Należy natychmiast zaktualizować AVideo do wersji 29.1 lub nowszej, która zawiera poprawkę usuwającą podatność. Jeśli aktualizacja nie jest możliwa, należy ręcznie dodać wywołanie escapeshellarg() dla każdej interpolowanej wartości w pliku plugin/Live/on_publish.php.
Inne podatności w AVideo
Zobacz wszystkie- CVE-2026-86188Wysokie
AVideo z włączoną wtyczką YPTSocket zawiera podatność na cross-site scripting, która pozwala nieuwierzytelnionym atakującym wykonywać dowolny JavaScript w przeglądarkach innych użytkowników poprzez mechanizm wywołań zwrotnych websocket. Atakujący mogą wysyłać spreparowane wiadomości socketowe z nazwami wywołań zwrotnych, które odwołują się do globalnych funkcji, takich jak avideoConfirmHTML, które przyjmują niezaufane dane i przypisują je do innerHTML, osiągając wykonanie skryptu w kontekście ofiary bez uwierzytelnienia lub interakcji użytkownika.
- CVE-2026-86187Średnie
WWBN AVideo generuje hasła dla kont logowania zewnętrznego za pomocą rand() zamiast generatora kryptograficznego, co daje tylko 31-bitowe liczby całkowite. Atakujący mający dostęp do skrótów haseł mogą odzyskać hasła w postaci jawnej w ciągu minut poprzez atak brute-force offline z powodu niesolonego haszowania opartego na MD5.
- CVE-2026-86186Średnie
API AVideo nie egzekwuje limitów szybkości, gdy klienci wysyłają nagłówek User-Agent bota, co pozwala atakującym ominąć wszystkie osiem chronionych operacji, w tym ochronę przed brute-force logowania. Atakujący mogą wysyłać żądania z User-Agent bota, aby wyłączyć limitowanie szybkości i przeprowadzać nieograniczone próby odgadnięcia haseł przeciwko dowolnemu kontu z jednego adresu IP.
- CVE-2026-85163Średnie
AVideo do commit c91b5975d zawiera podatność na SSRF w parserze EPG, która pozwala uwierzytelnionym uploaderom na pobieranie dowolnych wewnętrznych adresów URL. Atakujący może podać wewnętrzny URL w parametrze epg_link podczas przesyłania wideo, który jest walidowany tylko składniowo, a następnie pobierany po stronie serwera bez ochrony SSRF.
- CVE-2026-85162Średnie
AVideo do commit c91b5975d zawiera podatność na Cross-Site Request Forgery (CSRF) w plugin/Live/saveLive.php, która nie ma zabezpieczeń forbidIfNotPost i forbidIfInvalidToken. Atakujący mogą tworzyć złośliwe tagi obrazków, aby nadpisać klucze RTMP, hasła i tytuły streamerów, przejmując transmisje na żywo.
- CVE-2026-85161Średnie
AVideo do commit c91b5975d zawiera podatność na CSRF w removePoster.php, która nie ma zabezpieczeń forbidIfNotPost lub forbidIfInvalidToken. Atakujący mogą tworzyć złośliwe tagi obrazków, aby usuwać pliki posterów i miniatur ofiar za pomocą żądań GET.
- CVE-2026-85160Wysokie
AVideo do commita c91b5975d zawiera podatność cross-site request forgery i path traversal w pliku stopLive.php, która umożliwia atakującym usuwanie katalogów poprzez wykorzystanie braku walidacji tokenu i niesanityzowanej konkatenacji parametru key. Atakujący mogą stworzyć tag obrazu z payloadem traversal, np. key=../../videos, aby wywołać rekurencyjne usunięcie katalogu videos, gdy administrator odwiedzi złośliwą stronę.
- CVE-2026-85158Średnie
AVideo do commit c91b5975d zawiera podatność na odbity XSS w videoEmbeded.php, gdzie parametr link jest wyświetlany w komentarzu HTML bez żadnego kodowania. Atakujący mogą zamknąć komentarz za pomocą --> i wstrzyknąć dowolny JavaScript, który wykona się, gdy ofiara odwiedzi spreparowany URL.
- CVE-2026-84187Wysokie
AVideo zawiera podatność na brak uwierzytelnienia w plugin/Live/on_publish.php, która umożliwia nieuwierzytelnionym atakującym oznaczanie dowolnych zaplanowanych transmisji jako nieudanych poprzez wysyłanie spreparowanych żądań POST z identyfikatorami harmonogramu. Atakujący mogą wykorzystać niechroniony punkt końcowy wywołania zwrotnego RTMP do modyfikacji pól statusu zaplanowanych transmisji, dostarczając sfałszowane klucze strumienia pasujące do wzorca -ps-<N>, cicho anulując dowolną zaplanowaną transmisję na żywo bez poświadczeń lub autoryzacji.
- CVE-2026-83595Wysokie
AVideo zawiera podatność na cross-site request forgery (CSRF) w pliku plugin/API/set.json.php, która pozwala atakującym na wykonywanie operacji zmieniających stan poprzez spreparowane żądania GET omijające ochronę CSRF. Atakujący może przekierować przeglądarkę ofiary na złośliwy URL z parametrami API, aby usunąć filmy, dezaktywować konta lub modyfikować playlisty bez interakcji użytkownika.
Oryginalny opis (angielski, źródło NVD)
WWBN AVideo is an open source video platform. In 29.0 and earlier, there is a classic shell-metacharacter injection. The YPTSocket notification branch in plugin/Live/on_publish.php builds an execAsync() command line by string concatenation, single-quoting each argument but never calling escapeshellarg(). A ' in any of the three interpolated values ($users_id, $m3u8, $obj->liveTransmitionHistory_id) closes the quoted token and lets the attacker append arbitrary commands.

