Skip to main content

WWBN AVideo CVE-2026-54458

CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-07-15 GitHub_M
9.6
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.6 CRITICAL
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L
vuln.today AI
9.6 CRITICAL

Unauthenticated network delivery (PR:N/AV:N) with low-complexity injection; UI:R because an admin must view the debug panel; S:C as script runs in the higher-privileged admin origin giving C:H/I:H.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 15, 2026 - 22:07 vuln.today
Analysis Generated
Jul 15, 2026 - 22:07 vuln.today
CVE Published
Jul 15, 2026 - 21:33 cve.org
CRITICAL 9.6

DescriptionCVE.org

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 <img> 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.

AnalysisAI

Stored DOM cross-site scripting in WWBN AVideo's YPTSocket plugin (all versions prior to 29.0) lets any unauthenticated remote attacker run arbitrary JavaScript in the browser session of any administrator viewing the YPTSocket online-users debug panel. Because the malicious WebSocket metadata is broadcast to every connected client and rendered without escaping, a single anonymous WebSocket connection can be escalated into full administrative account takeover via the admin's own session and CSRF token. No public exploit identified at time of analysis; the flaw carries a CVSS 9.6 (Critical) rating driven by the scope change into the privileged admin origin.

Technical ContextAI

AVideo is an open-source PHP video-streaming platform. The YPTSocket plugin provides a WebSocket-based real-time online-users feature. The root cause is CWE-79 (improper neutralization of input during web page generation). The token endpoint plugin/YPTSocket/getWebSocket.json.php gates only on the plugin being enabled (AVideoPlugin::isEnabledByName), so it hands a signed WebSocket token to any anonymous caller. On connection, MessageSQLiteV2::onOpen (lines 91 and 110) copies the attacker-controlled webSocketSelfURI and page_title query parameters verbatim into the in-memory SQLite connections table - page_title is only passed through utf8_encode, which is an encoding transform, not HTML escaping. dbGetUniqueUsers() then selects those columns unescaped into the users_id_online array that msgToResourceId() broadcasts to every client. Client-side, plugin/YPTSocket/script.js::updateSocketUserCard interpolates page_title into an HTML template literal handed to jQuery $.append(html), which parses the attacker bytes into live DOM nodes (e.g., <img> with inline event handlers). The affected product is identified by CPE cpe:2.3:a:wwbn:avideo:*.

RemediationAI

Upgrade AVideo to version 29.0 or later, which includes the fix from commit 8be71e53ccbe9b84b30870db386fb4d2b11e1c16; that commit HTML-escapes page_title via htmlspecialchars(..., ENT_QUOTES | ENT_HTML5, 'UTF-8') and restricts webSocketSelfURI to validated http/https URIs (rejecting javascript: injection). If you cannot patch immediately, disable the YPTSocket plugin entirely (AVideoPlugin disable) to remove both the anonymous token endpoint and the vulnerable broadcast path - trade-off: this removes real-time online-user presence features. As a narrower mitigation, ensure administrators are not left viewing the YPTSocket online-users debug panel and restrict/monitor access to the plugin's WebSocket endpoint, though this does not remove the underlying flaw. Review the vendor advisory at https://github.com/WWBN/AVideo/security/advisories/GHSA-8whc-2wmv-ww35 for guidance. Because the payload steals non-HttpOnly cookies and CSRF tokens, rotate admin session credentials after patching if compromise is suspected.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-54458 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy