Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain streaming-permission account on target AVideo
-
DeliveryEnumerate victim user IDs via integer iteration
-
ExploitSend authenticated GET request with victims users_id parameter
-
ExecutionBypass empty() ownership guard in list.json.php
-
PersistReceive stream_key and OAuth token blob from database
-
ImpactUse tokens to access victim's YouTube/Facebook/Twitch accounts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires an authenticated account on the target AVideo instance with streaming permission - the canStream() check must pass, meaning the attacker's account must have been granted streaming rights by an administrator. The Live plugin must be installed and active on the deployment. The attacker must know or enumerate victim user IDs, which are sequential integers in the database and practically guessable. No admin privileges are required - any streaming-enabled peer on the same instance can exploit this against any other user. Limiting factors: unauthenticated users cannot exploit this (CVSS PR:L); the attack is scoped to users of the same AVideo deployment; exploitation is not automatable at scale per SSVC (no known mass-targeting tooling exists); only users who have configured live restream integrations with third-party platforms have exploitable data stored. |
| Impact | CVSS 6.5 Medium with AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N accurately captures a network-accessible, low-complexity information disclosure requiring only a low-privileged streaming account - consistent with the actual exploitation mechanics. The confidentiality impact is genuinely High because exposed OAuth refresh tokens represent persistent third-party account access (YouTube, Facebook, Twitch), not merely internal session leakage. SSVC classifies exploitation as poc, automatable as no, and technical impact as partial - indicating the attack requires manual targeting of specific user IDs rather than mass automated exploitation. EPSS at 0.03% (8th percentile) corroborates low broad exploitation probability. The absence of a KEV listing means active exploitation is not confirmed. Real-world risk is elevated specifically for competitive or adversarial multi-tenant AVideo deployments where users might target one another, but minimal for single-operator or tightly controlled instances. No conflicting signals between data sources - all indicators align consistently. |
| Exploit ScenarioDerived | An attacker registers or obtains a streaming-permission account on a target AVideo instance, then iterates integer user IDs by sending authenticated GET requests to /plugin/Live/view/Live_restreams/list.json.php?users_id=<target_id> with their session cookie. Each successful response returns the victim's RTMP stream key and OAuth credential blob for connected social platforms, which the attacker can use to hijack livestreams or gain persistent access to the victim's YouTube or Facebook account. A proof-of-concept demonstrating this curl-based technique is included in the GHSA advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 24, 2026
Insecure Direct Object Reference in AVideo's live restream list endpoint exposes any victim user's RTMP stream keys and OAuth tokens - including access_token and refresh_token for YouTube Live, Facebook Live, and Twitch - to any peer with a streaming-permission account on the same instance. The flaw exists in versions 29.0 and prior, where the authorization guard in list.json.php is trivially bypassed by supplying an explicit users_id GET parameter, routing directly to an attacker-controlled database query. Publicly available exploit code exists per SSVC; EPSS is 0.03% (8th percentile), indicating limited opportunistic exploitation at this time, and the vulnerability is not listed in CISA KEV.
RemediationAI
Apply the upstream fix from commit d5992fff2811df4adad1d9fc7d0a5837b882aed7 (https://github.com/WWBN/AVideo/commit/d5992fff2811df4adad1d9fc7d0a5837b882aed7), which removes the flawed empty() guard and unconditionally forces non-admin users to their own ID in list.json.php regardless of the GET parameter supplied. Note that a tagged patched release version is not confirmed in available data - the Composer package fix version is listed as None - so administrators must verify whether a release incorporating this commit has been published before relying on package-manager updates alone. As a compensating control pending patching, restrict HTTP access to plugin/Live/view/Live_restreams/list.json.php at the web server layer (nginx location block or Apache deny rule) to admin sessions only; this disables the restream list UI for non-admin streamers as a trade-off. Regardless of patch status, operators on multi-tenant deployments should immediately rotate all third-party stream keys and revoke OAuth tokens (YouTube, Facebook, Twitch) connected to AVideo restream configurations, as any streaming-permission user may have already accessed them.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AVideo is a PHP-based open-source video platform (CPE: cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:*) distributed as a Composer package (wwbn/avideo). The root cause is CWE-639 (Authorization Through User-Controlled Key): the Live plugin's list.json.php uses the user-supplied users_id GET parameter as the authorization scope key without validating that the requesting user owns the referenced records. The flawed implementation used an empty() guard that only enforced self-scoping when the parameter was absent - a non-admin user who explicitly provides users_id skips the override entirely and routes the attacker-controlled value directly to Live_restreams::getAllFromUser(), which executes SELECT * FROM live_restreams WHERE users_id = $users_id, returning all columns including stream_key (VARCHAR 500), stream_url (VARCHAR 500), and a parameters TEXT blob containing OAuth credentials from the restream.ypt.me flow. Other endpoints in the same directory (e.g., delete.json.php) perform correct ownership validation, confirming this was an isolated omission rather than a systemic design failure.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network endpoint requires streaming-level credentials (PR:L); read-only IDOR yields high confidentiality impact via OAuth tokens with no integrity or availability consequence.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
WWBN AVideo is an open source video platform. In versions 29.0 and prior, the endpoint plugin/Live/view/Live_restreams/list.json.php contains an Insecure Direct Object Reference (IDOR) vulnerability that allows any authenticated user with streaming permission to retrieve other users' live restream configurations, including third-party platform stream keys and OAuth tokens (access_token, refresh_token) for services like YouTube Live, Facebook Live, and Twitch. Commit d5992fff2811df4adad1d9fc7d0a5837b882aed7 fixes the issue.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-24284
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB