Skip to main content

WWBN AVideo CVE-2026-89253

| EUVDEUVD-2026-76065 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-09-11 VulnCheck GHSA-hwfm-c6x6-hx7r
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register/authenticate as AVideo user
  2. Delivery
    Set donationLink payload via userUpdate.json.php
  3. Exploit
    Publish attacker video
  4. Execution
    Admin views watch page and hovers donation button
  5. Persist
    JavaScript executes in admin session
  6. Impact
    Hijack session / perform privileged actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the CustomizeUser plugin option allowDonationLink to be enabled (this renders the donation button on the watch page); without it the sink is not reached. The attacker must hold a valid authenticated account able to update its own profile via objects/userUpdate.json.php (PR:L). Exploitation against a victim requires user interaction (UI:P): the victim must view the attacker's video watch page and interact with the donation button (e.g. hover to fire onmouseover). Limiting factors: non-default plugin configuration, need for a registered account, and required victim interaction.

Impact

The supplied CVSS 4.0 score of 9.3 (VC:H/VI:H/SC:H/SI:H) is high, but this is a stored XSS whose true impact is script execution in a victim's browser session, not direct high-confidentiality/high-integrity compromise of the server - the H impact ratings appear overstated for a DOM-context XSS. The vector's honest signals are more instructive: AV:N (network) but PR:L (attacker must be an authenticated AVideo user) and UI:P (a victim must load the attacker's video page and interact with, e.g. hover over, the donation button). No EPSS or KEV data was provided; there is no indication of active exploitation, so this is 'publicly available exploit code exists' rather than in-the-wild abuse. Real-world priority is moderate-to-high for sites that (a) allow user registration and (b) have enabled the non-default CustomizeUser allowDonationLink option - the admin-session-hijack potential (an admin hovering the button on an attacker's video) is the meaningful escalation path. The requirement for a specific plugin option and user interaction materially limits blast radius versus the raw 9.3 score.

Exploit ScenarioDerived

An attacker registers a normal AVideo account and, via objects/userUpdate.json.php, sets their donationLink to a URL crafted to break out of the href attribute and add an onmouseover event handler (e.g. http://evil.example/"onmouseover=alert(document.domain)//). They upload or share a video; when an administrator (or any visitor) opens that video's watch page and hovers over the donation button, the injected JavaScript runs in the victim's authenticated session, enabling session/cookie theft or admin-action forgery. Exploit details are publicly documented in the VulnCheck advisory.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 11, 2026

Stored cross-site scripting in WWBN AVideo (through commit c3edcc27) lets an authenticated user poison their own 'donationLink' profile field, which is later rendered unencoded inside an <a href="..."> attribute on the video watch page. Because User::save() validates the value only with FILTER_VALIDATE_URL (which accepts embedded double quotes and event handlers) and getDonationLink() applies only strip_tags(), an attacker can break out of the href attribute and execute JavaScript in the browser of any visitor - including an administrator - who hovers over the donation button. Reported by VulnCheck; publicly available exploit code exists via the advisory, and the issue was unfixed at time of reporting.

RemediationAI

No vendor-released patch identified at time of analysis - the issue was reported as unfixed. Track the GitHub Security Advisory GHSA-34jx-r3p9-7pp2 for a patched release. Compensating controls: disable the CustomizeUser option allowDonationLink (trade-off: removes the donation-button feature entirely but fully closes the reachable sink); as a code-level fix, encode getDonationLink() output with htmlspecialchars(..., ENT_QUOTES) before echoing it into the href attribute in plugin/CustomizeUser/actionButton.php, and tighten save() validation to reject URLs containing quote/angle-bracket characters rather than relying on FILTER_VALIDATE_URL alone. Additionally, restrict or vet new-user registration and apply a Content-Security-Policy that forbids inline event-handler execution to blunt the impact if the field is abused before a patch lands. Refer to the vendor and VulnCheck advisories above for authoritative guidance.

Affected VersionsENISA

AVideo 0 ≤c3edcc274c389816d434acadac07ee78eaf330c1

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AVideo is an open-source PHP video-sharing/streaming platform (cpe:2.3:a:wwbn:avideo). The root cause is CWE-79 (improper neutralization of input during web page generation) compounded by an insufficient input-validation choice: User::setDonationLink() in objects/user.php stores the raw string and save() gates it only with filter_var(..., FILTER_VALIDATE_URL). That filter accepts strings like http://evil.example/"onmouseover=alert(document.domain)// because a double quote and trailing path are technically valid URL characters. On output, getDonationLink() runs strip_tags() (which removes tags but does not encode quotes), and plugin/CustomizeUser/actionButton.php echoes the value directly into an HTML attribute context without htmlspecialchars() encoding. The tainted button is pulled into view/modeYoutubeBottom.php on the watch page whenever the CustomizeUser plugin option allowDonationLink is enabled, so the sink is reachable by unauthenticated viewers even though injection requires an account.

Know when Avideo gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 9.3 CRITICAL
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
vuln.today AI 5.4 MEDIUM

Authenticated user injects (PR:L), victim must load page and hover the button (UI:R), script runs in another user's browser crossing the security authority boundary (S:C), with typical XSS low C/I impact and no availability effect.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

DescriptionCVE.org

WWBN AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 contains a stored cross-site scripting vulnerability in the user 'donationLink' profile field. User::setDonationLink() (objects/user.php) stores the value and save() validates it only with filter_var(..., FILTER_VALIDATE_URL), which accepts strings such as http://evil.example/"onmouseover=alert(document.domain)//, while getDonationLink() applies only strip_tags() and does not encode double quotes. plugin/CustomizeUser/actionButton.php echoes the value unencoded into an <a href="..."> attribute, and that button is included from view/modeYoutubeBottom.php on the watch page when the CustomizeUser option allowDonationLink is enabled. An authenticated user who updates their own profile via objects/userUpdate.json.php can therefore break out of the href attribute and inject an event handler that executes JavaScript in the browser of any visitor-including an administrator-who views the attacker's videos and interacts with (for example, hovers over) the donation button. The issue was unfixed at the time of reporting.

Technical POC Analysis

Evidence source: GHSA-34jx-r3p9-7pp2.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

WWBN AVideo's user profile feature contains an unpatched stored scripting vulnerability that allows any authenticated user to inject malicious code into their donation link field, directly compromising administrator accounts when they interact with the donation button. This exploitable, unpatched flaw creates a pathway to administrative account takeover across all installations.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) HTML-encode the donationLink field at render time in the video watch-page template to prevent script execution; (2) implement a strict Content Security Policy header that prohibits inline script execution; (3) restrict profile field editing permissions to trusted administrative users only; (4) disable the donation feature entirely until a vendor patch is released.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
Low
niche open-source self-hosted video platform, limited production footprint
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Avideo

View all
CVE-2023-48728 CRITICAL POC
9.6 Jan 10

A cross-site scripting (xss) vulnerability exists in the functiongetOpenGraph videoName functionality of WWBN AVideo 11.

CVE-2024-31819 CRITICAL POC
9.8 Apr 10

An issue in WWBN AVideo v.12.4 through v.14.2 allows a remote attacker to execute arbitrary code via the systemRootPath

CVE-2022-30547 CRITICAL POC
9.9 Aug 22

A directory traversal vulnerability exists in the unzipDirectory functionality of WWBN AVideo 11.6 and dev master commit

CVE-2023-49599 CRITICAL POC
9.8 Jan 10

An insufficient entropy vulnerability exists in the salt generation functionality of WWBN AVideo dev master commit 15fed

CVE-2026-28501 CRITICAL POC
9.8 Mar 06

Unauthenticated SQL injection in AVideo before 24.0.

CVE-2023-25313 CRITICAL POC
9.8 Apr 25

OS injection vulnerability in World Wide Broadcast Network AVideo version before 12.4, allows attackers to execute arbit

CVE-2022-26842 CRITICAL POC
9.6 Aug 22

A reflected cross-site scripting (xss) vulnerability exists in the charts tab selection functionality of WWBN AVideo 11.

CVE-2023-47861 CRITICAL POC
9.0 Jan 10

A cross-site scripting (xss) vulnerability exists in the channelBody.php user name functionality of WWBN AVideo 11.6 and

CVE-2022-28712 CRITICAL POC
9.0 Aug 22

A cross-site scripting (xss) vulnerability exists in the videoAddNew functionality of WWBN AVideo 11.6 and dev master co

CVE-2023-49589 HIGH POC
8.8 Jan 10

An insufficient entropy vulnerability exists in the userRecoverPass.php recoverPass generation functionality of WWBN AVi

CVE-2023-32073 HIGH POC
8.8 May 12

WWBN AVideo is an open source video platform. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable

CVE-2023-30854 HIGH POC
8.8 Apr 28

AVideo is an open source video platform. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low

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