Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted Accept-Language header
-
ExploitOverlapping ....// survives single-pass filter
-
ExecutionLoader builds path outside locale/
-
Impactinclude_once executes existing PHP in app context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The HTTP Accept-Language path is reachable without authentication, account, privilege or user interaction when User_Location's default browser-based automatic language detection is active, or when the site falls back to the browser language. The inclusion primitive requires an existing, readable PHP file at a path reachable from locale/ via overlapping traversal ('....//'); the advisory did NOT demonstrate disclosure of secrets, arbitrary file-content reading, or a quantified availability impact. Key limiting factor: arbitrary attacker-supplied code execution additionally requires a separate, undemonstrated ability to place a PHP file at a reachable path, so realistic impact is bounded by which PHP files already exist in a given deployment. Note the supplied CVSS vector labels this AV:L, but the documented trigger is a remote HTTP header - verify the attack vector with the vendor. |
| Impact | Signals point to a real but moderate, context-dependent issue rather than a top-tier emergency. The decision label is 'this_month' (priority, not act_now/emergency), EPSS is low at 0.51% (43rd percentile), there is no CISA KEV listing, and no public exploit is identified - so widespread opportunistic exploitation is not indicated. The supplied CVSS 4.0 vector scores 6.9 but is internally inconsistent with the authoritative evidence in two ways that must be verified: (1) it sets AV:L (local), yet the GHSA confirms the flaw is triggered remotely via an unauthenticated HTTP Accept-Language header - the attack vector should be network, so the AV:L label appears wrong; (2) it asserts VC:H (high confidentiality), yet the maintainer's GHSA explicitly REMOVED an earlier CVSS 8.2/C:H vector because confidentiality impact was NOT demonstrated, and the validation did not establish secret disclosure, arbitrary file reading, or quantified availability impact. The maintainer's 'High' rating is a qualitative judgment grounded in the unauthenticated-inclusion primitive, not a demonstrated high-impact outcome. In practice the real impact is deployment-dependent: an attacker can only include EXISTING readable PHP files reachable from locale/, and turning that into arbitrary attacker-controlled code execution requires a separate, undemonstrated ability to plant a PHP file. Bottom line: credible unauthenticated reachability with uncertain, installation-specific impact - patch this month as the signals indicate, but the raw mechanism is lower real risk than a demonstrated unauthenticated RCE. |
| Exploit ScenarioDerived | An unauthenticated attacker sends an HTTP request to an AVideo instance (version 29.3.0/29.4.0 or an unpatched source snapshot) with a crafted Accept-Language header such as '....//outside'; because setLanguage() applies only a single-pass str_replace('../',''), the overlapping sequence collapses to '../outside', and the loader's include_once executes an existing server-side PHP file outside locale/ in the application context. Reachability requires browser-based automatic language detection to be active or the site to fall back to the browser language. No public exploit code is identified; the advisory demonstrated the inclusion primitive only in an isolated local harness, and full attacker-controlled code execution would additionally require placing a PHP file at a reachable path, which was not demonstrated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Unauthenticated PHP file inclusion in WWBN AVideo (confirmed affected: release tags v29.3.0 and v29.4.0 plus master snapshot 8a32cc70a4758c74c54cdc80c592f11514debcb2) lets a crafted Accept-Language header steer the locale loader outside the locale/ directory by smuggling overlapping traversal ('....//') past a single-pass str_replace('../','') filter, causing include_once to execute PHP files that already exist elsewhere in the web root. The inclusion primitive needs no account, privilege or victim interaction when browser-based automatic language detection or browser-language fallback is active, but the resulting impact is bounded by which readable PHP files already exist at a reachable path - arbitrary attacker code execution would require a separate, undemonstrated ability to upload a PHP file, and the advisory did not show secret disclosure, arbitrary file reading or quantified availability loss. No public exploit code was identified at time of analysis, EPSS is 0.51% (43rd percentile) and the issue is not in CISA KEV, so the decision label is this_month rather than act_now.
RemediationAI
The vendor fix is upstream commit 22e8c734ec89bb793d09dcc83f630e42d5fcaa8a (https://github.com/WWBN/AVideo/commit/22e8c734ec89bb793d09dcc83f630e42d5fcaa8a), which introduces isValidLanguageCode() and validates both the request-supplied and session-stored language before inclusion; update to that commit, any later revision containing it, or the v29.5.0 release referenced at https://github.com/WWBN/AVideo/releases/tag/v29.5.0, noting that the advisory states the v29.4.0 tag precedes the fix and that no tagged patched release was independently verified at publication, so confirm the patched loader is present when deploying a build. Source installations can backport the locale/function.php changes and the accompanying tests/Security/LocaleLanguagePathTest.php regression test instead of a full upgrade. Where upgrading is not immediately possible, the one actionable exposure reduction described by the maintainer is to stop the header from reaching the loader: disable browser-based automatic language detection in the User_Location settings and avoid falling back to the browser language, which removes the unauthenticated Accept-Language trigger at the cost of forcing users to choose a language manually; because the value is also stored in the session, clear existing sessions after changing the setting so previously stored traversal values are not reused. Because exploitation only executes PHP files that already exist outside locale/, reducing the number of readable PHP scripts reachable above the locale directory limits what an attacker can trigger, and any fix must be paired with upstream guidance rather than generic Web Application Firewall rules, since the vendor identifies the code change as the complete remedy.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-22 (path traversal) manifesting as CWE-98 (PHP file inclusion) inside AVideo's locale loader. getLanguageFromBrowser() takes the first comma-separated value of the Accept-Language header and replaces hyphens with underscores; setSiteLang() then hands that string to setLanguage(), which sanitized it with a single str_replace('../', '', $lang) before building locale/{$lang}.php and calling file_exists() and include_once. Because the removal was single-pass and non-recursive, the overlapping sequence '....//outside' collapses to '../outside' after one replacement, so existing files above the locale directory can be included and executed in the application context; the chosen value is also persisted in the session, and the session-loading path (includeLangFile) had the same inadequate filter. The upstream commit 22e8c734ec89bb793d09dcc83f630e42d5fcaa8a replaces the blacklist approach with an allowlist, adding isValidLanguageCode() that requires a string matching ^[a-z0-9_-]+$/i and rejects the reserved names index, function and save, applying the check before every file_exists()/include_once() call including the session branch, with a regression test covering plain, overlapping and backslash traversal, absolute paths and legitimate codes such as en_US and pt_BR. Note a discrepancy in the supplied severity data: the CVSS 4.0 vector marks AV:L even though the documented trigger is a remote HTTP header, and the independent assessment scores CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N; the maintainer dropped an earlier CVSS 8.2 vector with C:H because confidentiality impact was not demonstrated.
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:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated trigger via a remote Accept-Language header gives AV:N/PR:N/UI:N/AC:L; impact is limited to including existing PHP files with confidentiality not demonstrated, so C/I low and A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
WWBN AVideo before 29.5.0 contains a local file inclusion vulnerability that allows unauthenticated attackers to include PHP files outside the locale directory via a crafted Accept-Language header. Attackers can use overlapping traversal sequences like ....// to bypass single-pass removal in setLanguage(), executing existing server-side PHP files in the application context.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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-110508
GHSA-vqg8-67mm-wh28
NVD
CVE.org
EPSS
Exploit-DB