ZeroHour

CVE-2026-88867

moderate

Stored Cross-Site Scripting in WWBN AVideo Category Handling

CVSS 4.0
9.3 critical
EPSS
Published
()
Modified
AI analysis

WWBN AVideo, in versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1, stores the 'name' and 'iconClass' values submitted to objects/categoryAddNew.json.php without sanitization (the name is only truncated to 45 characters), resulting in a stored cross-site scripting flaw (CWE-79) rated critical at CVSS 4.0 9.3. When the CustomizeUser option usersCanCreateNewCategories is enabled, any authenticated user with canUpload permission, which is granted by default via self-registration, can create a category containing a JavaScript payload that executes in the browser of any visitor who views a watch page or gallery entry for a video assigned to that category. Because these pages are also viewed by administrators, an attacker can run script under an admin's session and perform authenticated actions on the victim's behalf, such as content or configuration changes. All self-hosted AVideo deployments with user-created categories enabled are affected. The flaw was unpatched at the time of reporting, with no public proof-of-concept, no CISA KEV listing, and no confirmed in-the-wild exploitation.

What to do: No fixed release was available as of the reported commit, so upgrade as soon as a patched AVideo version is published and monitor the upstream repository for the fix. In the meantime, disable usersCanCreateNewCategories under CustomizeUser or restrict category creation to trusted administrators, and audit existing categories for injected HTML/JavaScript in the name and iconClass fields. Defenders should also ensure the category name and iconClass are HTML-encoded on output in view/modeYoutubeBottom.php and plugin/Gallery/functions.php.

Affected
WWBN AVideoall versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1 (unpatched at time of reporting)
Estimated exposure
moderatelikely on the order of a few thousand self-hosted, internet-exposed AVideo instances (estimate) — No official install counts are published for AVideo, a niche self-hosted video platform, but public internet scans of its server signature historically surface only a few thousand exposed instances, and the vulnerable path additionally…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

WWBN AVideo, in versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1, contains a stored cross-site scripting vulnerability. objects/categoryAddNew.json.php passes the POST parameters `name` and `iconClass` to Category::setName() and Category::setIconClass(), which store the values without sanitization (setName only truncates to 45 characters). The category name is later echoed as HTML text and iconClass is echoed into a class attribute in view/modeYoutubeBottom.php and in Gallery cards (plugin/Gallery/functions.php). When the CustomizeUser option usersCanCreateNewCategories is enabled, any authenticated user with canUpload permission (granted by default via self-registration) can create a category containing a JavaScript payload; the payload then executes in the browser of any visitor, including administrators, who views a watch page or gallery entry for a video assigned to that category, allowing actions such as authenticated requests with the victim's session. The issue was unpatched at the time of reporting.

Weakness
CWE-79
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.