CVE-2026-54458 in AVideoinfo

Summary

by MITRE • 07/16/2026

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.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 07/16/2026

The stored DOM cross-site scripting vulnerability in AVideo versions prior to 29.0 represents a critical security flaw within the YPTSocket plugin that enables unauthenticated remote attackers to execute arbitrary JavaScript code in the context of administrator sessions. This vulnerability operates through a sophisticated chain of exploitation where the attacker first obtains a signed WebSocket token without authentication requirements, then manipulates query parameters that persist in the system's in-memory SQLite database and are subsequently broadcast to all connected clients. The technical implementation occurs at plugin/YPTSocket/MessageSQLiteV2.php lines 91 and 110 where the webSocketSelfURI and page_title parameters from WebSocket connection URLs are read without any input validation or sanitization, creating a persistent vector for malicious data injection.

The operational impact of this vulnerability extends far beyond simple XSS exploitation as it fundamentally compromises administrator sessions through a session hijacking mechanism. When administrators view pages that render the YPTSocket online-users debug panel, their browsers receive maliciously crafted page_title values that are interpolated into HTML template literals within the client-side JavaScript code at plugin/YPTSocket/script.js::updateSocketUserCard. This interpolation directly feeds into jQuery's $.append(html) method, which parses the attacker-controlled content as live DOM nodes, including potentially dangerous elements with inline event handlers that can execute malicious scripts in the context of the administrator's authenticated session.

The exploitation chain allows attackers to harvest sensitive information including non-HttpOnly cookies and CSRF tokens that are rendered within the admin dashboard, enabling them to issue authenticated requests to any administrator-only endpoint. This capability creates a complete administrative takeover scenario where a single anonymous WebSocket connection can be leveraged to gain full control over the affected system. The vulnerability's persistence in the SQLite connections table ensures that malicious payloads remain active until the system is restarted or the database is cleared, making it particularly dangerous for long-running deployments. The attack vector aligns with CWE-79 (Cross-Site Scripting) and demonstrates characteristics consistent with ATT&CK technique T1059.007 (Command and Scripting Interpreter: JavaScript) while also exhibiting elements of credential access through session hijacking.

The patch implemented in commit 8be71e53ccbe9b84b30870db386fb4d2b11e1c16 addresses this vulnerability by introducing proper input validation and sanitization of the webSocketSelfURI and page_title parameters before they are stored in the database or broadcast to connected clients. This remediation follows security best practices by implementing defense-in-depth measures that validate all user-supplied input at multiple points within the data processing pipeline, ensuring that malicious payloads cannot persist or propagate through the system's WebSocket communication framework. The fix demonstrates proper secure coding principles that align with OWASP top ten recommendations for preventing cross-site scripting vulnerabilities in web applications.

The severity of this vulnerability classification stems from its ability to transform anonymous access into authenticated administrative control without requiring any legitimate credentials or session information, making it particularly dangerous for systems where administrators maintain elevated privileges. The stored nature of the vulnerability means that even after the initial attack, malicious payloads can continue to affect users who subsequently connect to the system, creating a persistent threat that can compound over time as more administrators interact with affected pages containing the vulnerable debug panel functionality.

Responsible

GitHub M

Reservation

06/15/2026

Disclosure

07/16/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!