Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker crafts page with img tag pointing to setSubscribers.json.php
-
DeliveryVictim admin receives phishing lure
-
ExploitAdmin browser loads attacker page
-
InstallBrowser sends credentialed GET request to AVideo endpoint
-
C2autoCSRFGuard() skips GET requests - no token check
-
ExecuteUser::setExtraSubscribers() executes with attacker-controlled values
-
ImpactTarget channel subscriber count forged
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The victim must be a logged-in AVideo administrator or a user with sufficient privileges to have their session recognized by the setSubscribers.json.php endpoint. The CustomizeUser plugin must be active - it is enabled by default in AVideo, so no special administrator action is required to create the vulnerable condition. The attacker must successfully deliver a page containing the crafted GET request to the victim (requires social engineering; user interaction classified as UI:P in CVSS 4.0). No authentication, API key, or elevated network position is required on the attacker's side. The limiting factor is the social engineering step: the attack cannot be fully automated without convincing the administrator to load attacker-controlled content. Deployments behind a reverse proxy that strips or rewrites GET parameters to this endpoint path, or that enforce SameSite cookie policies, are partially mitigated. |
| Impact | The CVSS 4.0 score of 5.3 with UI:P (victim interaction required) and VI:L (low integrity impact) accurately reflects the constrained real-world risk. The attacker must induce an authenticated administrator to visit a controlled page - a social engineering prerequisite that limits automatable exploitation. The impact is narrow: only the ExtraSubscribers display count for a channel can be manipulated, with no confidentiality or availability consequence. There is no CISA KEV listing and no identified POC exploit code beyond the advisory disclosure. EPSS data is absent from the provided intelligence. The CustomizeUser plugin being enabled by default broadens the attack surface across all AVideo deployments, but the impact ceiling (cosmetic subscriber count tampering) keeps operational priority moderate. The absence of a patch at reporting time is a material risk factor for defenders who cannot simply upgrade. No conflicting signals between CVSS vector and description - the GET-based CSRF mechanism is consistent with AV:N/PR:N/UI:P. |
| Exploit ScenarioDerived | An attacker registers or identifies a target AVideo user channel and crafts a public webpage containing an HTML tag such as <img src='https://target-avideo.example.com/plugin/CustomizeUser/setSubscribers.json.php?users_id=42&ExtraSubscribers=9999999'> then socially engineers an AVideo administrator into visiting that page (e.g., via phishing email or poisoned forum post). The administrator's browser automatically issues the GET request with their active session cookie, causing the AVideo server to call User::setExtraSubscribers() and set the display subscriber count to the attacker-chosen value for the targeted channel without any CSRF validation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 10, 2026
Cross-site request forgery in AVideo's default-enabled CustomizeUser plugin allows an unauthenticated remote attacker to forge the ExtraSubscribers count on any user channel by inducing a logged-in administrator to load a crafted page containing an img tag. The root cause is that the setSubscribers.json.php endpoint accepts state-mutating GET requests via the $_REQUEST superglobal without any CSRF token validation, because autoCSRFGuard() is scoped exclusively to POST requests and the mutation path bypasses ObjectYPT::save()/isUntrustedRequest() checks. No vendor-released patch was available at the time of reporting; the issue affects all AVideo commits through c3edcc274c389816d434acadac07ee78eaf330c1 (master, 2026-08-23). No public exploit identified at time of analysis.
RemediationAI
No vendor-released patch identified at time of analysis; the GitHub Security Advisory (https://github.com/WWBN/AVideo/security/advisories/GHSA-p9c3-prq7-g8xc) confirmed no fixed version was available at reporting time. Operators should monitor the upstream repository for a commit that adds POST-only enforcement or CSRF token validation to setSubscribers.json.php. As a compensating control, disable the CustomizeUser plugin in AVideo's plugin management interface if ExtraSubscribers functionality is not operationally required - this removes the vulnerable endpoint entirely. If the plugin must remain active, configure the web server (Apache/nginx) to reject GET requests to plugin/CustomizeUser/setSubscribers.json.php with a 405 Method Not Allowed rule; note this could break legitimate integrations if any client relies on GET for this endpoint. Administrators should also enforce a SameSite=Strict or SameSite=Lax cookie policy at the application or reverse-proxy layer to prevent cross-origin cookie transmission, which mitigates CSRF broadly across AVideo.
Affected VersionsENISA
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
WWBN AVideo is an open-source PHP self-hosted video platform. The CustomizeUser plugin, enabled by default, exposes a PHP endpoint at plugin/CustomizeUser/setSubscribers.json.php that calls User::setExtraSubscribers() using parameters drawn from PHP's $_REQUEST superglobal, which accepts both GET and POST input. The application's CSRF guard (autoCSRFGuard()) is conditionally applied only to POST requests matching the *.json.php pattern, leaving GET-accessible state-mutating endpoints entirely unprotected. Because the mutation also does not pass through ObjectYPT::save() or isUntrustedRequest(), cross-origin GET requests (e.g., triggered by an img tag src attribute) succeed with full effect using the victim's session cookies. CPE cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:* covers all versions. CWE-352 (Cross-Site Request Forgery) identifies the root cause: the server does not verify that the request originated from its own interface before performing a privileged mutation.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Unauthenticated network attacker, low complexity, requires victim admin to load crafted page (UI:R), integrity-only impact limited to subscriber count (I:L), no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
WWBN AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 (master, 2026-08-23) contains a cross-site request forgery vulnerability in the CustomizeUser plugin's plugin/CustomizeUser/setSubscribers.json.php endpoint. The script reads users_id and ExtraSubscribers from $_REQUEST and calls User::setExtraSubscribers() without requiring a POST request or a valid CSRF token; autoCSRFGuard() is applied only to POST requests to *.json.php, and the mutation does not pass through ObjectYPT::save()/isUntrustedRequest(), so a cross-origin GET succeeds. An unauthenticated remote attacker who induces a logged-in administrator to load a crafted page (for example an <img> tag pointing at the endpoint) can forge the ExtraSubscribers count displayed on any user's channel. The CustomizeUser plugin is enabled by default, and no patched version was available at the time of reporting.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
A cross-site scripting (xss) vulnerability exists in the functiongetOpenGraph videoName functionality of WWBN AVideo 11.
An issue in WWBN AVideo v.12.4 through v.14.2 allows a remote attacker to execute arbitrary code via the systemRootPath
A directory traversal vulnerability exists in the unzipDirectory functionality of WWBN AVideo 11.6 and dev master commit
An insufficient entropy vulnerability exists in the salt generation functionality of WWBN AVideo dev master commit 15fed
Unauthenticated SQL injection in AVideo before 24.0.
OS injection vulnerability in World Wide Broadcast Network AVideo version before 12.4, allows attackers to execute arbit
A reflected cross-site scripting (xss) vulnerability exists in the charts tab selection functionality of WWBN AVideo 11.
A cross-site scripting (xss) vulnerability exists in the channelBody.php user name functionality of WWBN AVideo 11.6 and
A cross-site scripting (xss) vulnerability exists in the videoAddNew functionality of WWBN AVideo 11.6 and dev master co
An insufficient entropy vulnerability exists in the userRecoverPass.php recoverPass generation functionality of WWBN AVi
WWBN AVideo is an open source video platform. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable
AVideo is an open source video platform. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low
EUVD-2026-75421
GHSA-277g-79xq-9cwq
NVD
CVE.org
EPSS
Exploit-DB