VYPR
Unrated severityNVD Advisory· Published Jun 20, 2026

AVideo TopMenu Plugin - Stored Cross-Site Scripting via Unescaped Menu Item Fields

CVE-2026-56347

Description

AVideo TopMenu plugin through version 26.0 contains a stored cross-site scripting vulnerability in menu item rendering due to missing output encoding of icon classes, URLs, and text labels. Attackers can inject malicious JavaScript through unescaped menu item fields that execute for all site visitors, potentially stealing session cookies or performing unauthorized actions.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Missing output encoding (htmlspecialchars) on menu item icon classes, URLs, and text labels allows stored cross-site scripting."

Attack vector

An attacker who gains admin access can save a crafted menu item with malicious payloads in the icon, URL, or text fields, which are rendered unescaped on every public page via plugin hooks [ref_id=1]. Because `menuItemSave.json.php` lacks CSRF token validation, a cross-origin POST from an attacker-controlled page can create the malicious menu item if an admin visits that page while logged in, chaining CSRF with stored XSS [ref_id=1]. The injected JavaScript executes for all site visitors, enabling session cookie theft, phishing redirects, or actions on behalf of authenticated users [CWE-79].

Affected code

The TopMenu plugin's `HTMLMenuRight.php:24` injects the icon class directly (`<i class="<?php echo $value2['icon'] ?>">`), `HTMLMenuRight.php:40` and `HTMLMenuLeft.php:32` render the URL without encoding, and `index.php:49` echoes the menu item text raw. The `menuItemSave.json.php` endpoint stores these values without sanitization and lacks CSRF token validation.

What the fix does

The advisory recommends applying `htmlspecialchars()` with `ENT_QUOTES` and UTF-8 encoding to all outputs of `$value2['finalURL']`, `$value2['icon']`, and `$menuItem->getText()` in `HTMLMenuRight.php`, `HTMLMenuLeft.php`, `floatMenu.php`, and `index.php` [ref_id=1]. This ensures that any HTML or JavaScript injected into those fields is rendered as harmless text rather than executed by the browser. No patch has been published by the vendor at the time of the advisory.

Preconditions

  • authAttacker must have admin access to the AVideo instance, or must lure an authenticated admin to visit a malicious page that submits a CSRF POST to menuItemSave.json.php
  • configThe TopMenu plugin must be installed and active on the AVideo instance
  • inputThe attacker's payload is stored in the database and rendered on every page via plugin hooks

Generated on Jun 21, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

2

News mentions

0

No linked articles in our index yet.