CVE-2026-54458
AVideo: Unauthenticated Stored DOM Cross-Site Scripting via Per-Client Metadata Broadcast in YPTSocket Plugin
Что произошло
WWBN AVideo is an open source video platform. Versions prior to 29.0 contain a stored DOM Cross-Site Scripting vulnerability in the YPTSocket plugin. Any unauthenticated remote attacker can execute arbitrary JavaScript in the authenticated origin of every administrator currently viewing a page that renders the YPTSocket online-users debug panel. plugin/YPTSocket/getWebSocket.json.php issues a signed WebSocket token to any anonymous caller, and MessageSQLiteV2::onOpen at plugin/YPTSocket/MessageSQLiteV2.php lines 91 and 110 reads the attacker-controlled webSocketSelfURI and page_title query parameters from the WebSocket connection URL with no validation. Both values persist into the in-memory SQLite connections table and broadcast inside the users_id_online array sent to every connected client; on the client, plugin/YPTSocket/script.js::updateSocketUserCard interpolates the broadcast page_title into an HTML template literal that is passed to jQuery $.append(html), which parses attacker bytes into live DOM nodes including with inline event handlers. Successful attackers can can read non-HttpOnly cookies and the CSRF token rendered into the admin dashboard, issue authenticated requests to any admin-only endpoint, exfiltrate the admin dashboard DOM, and chain into any admin-context mutation. When the victim is an AVideo administrator, the attacker turns a single anonymous WebSocket connection into full administrative takeover via the admin's own session. This issue has been patched by https://github.com/WWBN/AVideo/commit/8be71e53ccbe9b84b30870db386fb4d2b11e1c16.
Что это значит
Входные данные могут попасть в страницу как активное содержимое. При выполнении условий атаки это затрагивает пользователей приложения.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
WWBN / AVideo
{
"status": "affected",
"version": "<= 29.0"
}WWBN/AVideo composer
Диапазон источника: < 29.1.0
Первая исправленная версия по источнику: 29.1.0
CVSS: оценки и векторы
CVSS 3.1 · cve9.6
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L
CVSS 3.1 · ghsa9.6
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L
Классы CWE
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"ghsa"
],
"epss": {
"source": "epss",
"received_at": "2026-10-29T09:32:07.641963+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T19:43:24.139941+00:00"
},
"scores": [
"cve",
"ghsa"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T19:43:24.139941+00:00"
},
"affected": [
"cve",
"ghsa"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T19:43:24.139941+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-10-29T09:32:07.641963+00:00"
},
"references": [
"cve",
"ghsa"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T19:43:24.139941+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Появились сведения об исправлении29.10.2026, 18:04
- Данные обновлены29.10.2026, 12:32
- Появилась ссылка на PoC28.10.2026, 22:43
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-114633 WWBN AVideo before 29.4.0 Incorrect Authorization via confirmDeleteUser.json.php WWBN / AVideo | Критический | 7.0 | 0,31 % | PoCПатч | 22.10.2026 | |
| CVE-2026-114048 WWBN AVideo before 24.0 CSRF via Legacy Playlist and Video Endpoints WWBN / AVideo | Высокий | 5.1 | 0,17 % | PoC | 21.10.2026 | |
| CVE-2026-116800 WWBN AVideo before 29.5.0 Local PHP File Inclusion via Accept-Language Header WWBN / AVideo | Средний | 6.9 | 0,51 % | Патч | 27.10.2026 | |
| CVE-2026-41057 AVideo has CORS Origin Reflection Bypass via plugin/API/router.php and allowOrigin(true) that Exposes Authenticated API Responses WWBN / AVideo · wwbn / avideo | Критический | 7.1 | 0,13 % | PoCПатч | 22.04.2026 | |
| CVE-2026-41304 WWBN AVideo vulnerable to RCE caused by clonesite plugin WWBN / AVideo · wwbn / avideo | Критический | 8.9 | 2,22 % | PoCПатч | 22.04.2026 |