CVE-2026-54458
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedWWBN 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.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceA stored DOM XSS vulnerability in the YPTSocket plugin of AVideo allows unauthenticated attackers to inject malicious JavaScript via the webSocketSelfURI and page_title WebSocket connection parameters. These values are persisted without validation and broadcast to all connected clients, where the client-side script.js interpolates page_title into an HTML template literal passed to jQuery $.append(), parsing attacker-controlled HTML including event handlers into live DOM nodes.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify AVideo versionLocate the AVideo installation directory and check the version file or database for the installed AVideo version numberAffected if The installed version is below 29.0
-
Verify YPTSocket plugin is presentCheck the plugin directory for the YPTSocket plugin folder and confirm it is listed as an active plugin in the AVideo plugins configurationAffected if The YPTSocket plugin is installed and enabled
-
Confirm WebSocket endpoint accessibilityTest access to the YPTSocket WebSocket endpoint (typically at /WebSocket for the plugin) without authenticationAffected if The WebSocket endpoint accepts connections without requiring authentication
-
Check script.js for vulnerable template interpolationLocate and inspect the client-side script.js file within the YPTSocket plugin directory for page_title usage in jQuery $.append() callsAffected if The script.js file contains template literal interpolation of page_title into $.append() without sanitization
A user is affected if their AVideo installation is version below 29.0, the YPTSocket plugin is enabled, and the WebSocket endpoint accepts unauthenticated connections that broadcast the page_title parameter to clients.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedUpgrade to AVideo version 29.0 or later which includes the patch (commit 8be71e53). If immediate upgrade is not possible, disable or restrict the YPTSocket plugin to prevent unauthenticated WebSocket connections.
AVideo version 29.0 or later
- 1. Identify the current installed version of AVideo (WWBN/AVideo) by checking the version file or git tags
- 2. Plan an upgrade to version 29.0 or later, as this version contains the patch for CVE-2026-54458
- 3. Before upgrading, backup the entire AVideo installation including database and configuration files
- 4. If running from git, pull the latest changes which include commit 8be71e53ccbe9b84b30870db386fb4d2b11e1c16
- 5. If using a packaged release, download version 29.0 or the latest stable release from the official repository
- 6. After upgrade, verify the YPTSocket plugin files have been updated: plugin/YPTSocket/getWebSocket.json.php, plugin/YPTSocket/MessageSQLiteV2.php, and plugin/YPTSocket/script.js
- 7. Test the WebSocket functionality to ensure the plugin works correctly post-upgrade
- 8. As a precautionary measure, rotate all admin sessions and review admin user accounts
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation4.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,648.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-54458 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-54458 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data