WWBN AVideo
CVE-2026-41060
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as upload-capable user
-
DeliverySubmit downloadURL with site hostname and alternate port
-
ExploitBypass isSSRFSafeURL same-domain shortcircuit
-
ExecutionServer fetches internal service port
-
PersistResponse written to web-accessible cache/tmpFile/
-
ImpactDownload file to exfiltrate internal data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated session with upload permission (User::canUpload()) OR a valid per-video video_id_hash token accepted by useVideoHashOrLogin(); this is the primary limiting factor. The attacker must know or reuse the instance's public hostname as configured in webSiteRootURL and target it with a non-default port (e.g. https://<site-host>:9998/), because only same-hostname URLs hit the vulnerable shortcircuit. Exploitation is meaningful only when a service actually listens on another port of the AVideo host that the server can reach. Retrieval of exfiltrated data additionally requires that the cache/tmpFile/ directory under the videos storage path remains web-accessible. Affects AVideo 29.0 and below; no user interaction beyond the attacker's own requests is needed. |
| Impact | Signals are mostly consistent and point to a real but moderate, non-urgent priority. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N = 7.7) reflects network reach, low complexity, low-privilege authentication, a scope change (reaching a separate internal service context), and high confidentiality impact with no integrity or availability effect - matching the description of read-only exfiltration. SSVC agrees: Exploitation is only 'poc' (not active), Automatable 'no' (authentication and per-target hostname configuration prevent mass scripting), and Technical Impact 'partial'. EPSS is very low (0.03%, 8th percentile) and the CVE is NOT in CISA KEV, so there is no evidence of in-the-wild use. The key limiting factor is PR:L: exploitation requires an account with upload permission (User::canUpload()) or a valid per-video video_id_hash, so exposure depends heavily on whether an instance allows self-registration or public uploads. Net: prioritize patching on internet-facing multi-user instances, but this is not a drop-everything emergency. No conflicting signals of note; the main real-world variable is whether internal services actually listen on the AVideo host's other ports. |
| Exploit ScenarioDerived | An attacker registers or uses a low-privileged AVideo account with upload rights (or obtains a valid video_id_hash), then submits downloadURL=https://avideo.example.com:9998/ to objects/aVideoEncoder.json.php; because the hostname matches webSiteRootURL, isSSRFSafeURL() returns true and the server fetches the internal service on port 9998. The response is stored under cache/tmpFile/ and the attacker downloads it from the web-accessible path to exfiltrate internal data. A working proof-of-concept (authenticate, then send the alternate-port request) is published in the GHSA advisory, and low attack complexity makes it straightforward to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 24, 2026
Server-side request forgery in WWBN AVideo 29.0 and earlier lets an authenticated upload-capable user bypass the isSSRFSafeURL() same-domain shortcircuit by supplying the site's own public hostname with a non-standard port, causing the server to fetch arbitrary internal ports and save the response to a web-accessible cache path for full exfiltration. The flaw carries a CVSS 7.7 (scope-changing confidentiality impact) and publicly available exploit code exists via the GitHub Security Advisory, though it is not listed in CISA KEV and EPSS probability is negligible (0.03%, 8th percentile).
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply commit a0156a6398362086390d949190f9d52a823000ba, which extends the same-origin check to require that BOTH hostname and port match webSiteRootURL before allowing the request. If you cannot deploy from source immediately, apply specific compensating controls: restrict who can reach the sink by disabling public/self-service account registration and revoking upload permission from untrusted users (removes the PR:L precondition, at the cost of blocking legitimate uploaders); place the AVideo host so that no sensitive internal services listen on other ports of its interface, or firewall the AVideo server's outbound/loopback access to those ports (breaks the SSRF target but may affect co-located services); and deny web access to the cache/tmpFile/ directory under the videos storage path to block retrieval of exfiltrated responses (prevents the read-back, though the internal fetch may still occur). Track the vendor advisory GHSA-j432-4w3j-3w8j (https://github.com/WWBN/AVideo/security/advisories/GHSA-j432-4w3j-3w8j) for a tagged release and upgrade to it once published.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in composer
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability lives in objects/functions.php within isSSRFSafeURL(), the PHP guard AVideo uses to vet outbound URLs before url_get_contents() fetches them. A prior fix (commit 40872e529) made the SSRF check unconditional, but the check itself contained a same-origin allowlist that returned true whenever a URL's hostname equaled the configured webSiteRootURL host - comparing only the hostname and never the port, scheme, or path. This is a classic CWE-918 (Server-Side Request Forgery) allowlist-bypass root cause: an origin check that is too coarse. Because parse_url() host matching ignored the port, http(s)://<public-host>:<any-port>/ satisfied the check, letting the server reach any TCP port bound on its own interface. The reachable sink is objects/aVideoEncoder.json.php, where $_REQUEST['downloadURL'] flows through downloadVideoFromDownloadURL() and the fetched body is written under Video::getStoragePath().'cache/tmpFile/'.basename(downloadURL), a directory inside the web-accessible videos storage tree. CPE cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:* confirms the affected product line.
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-reachable low-complexity SSRF requires an authenticated upload user (PR:L); reaching a separate internal service is a scope change (S:C) with read-only exfiltration (C:H, I:N, A:N).
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
WWBN AVideo is an open source video platform. In versions 29.0 and below, the isSSRFSafeURL() function in objects/functions.php contains a same-domain shortcircuit (lines 4290-4296) that allows any URL whose hostname matches webSiteRootURL to bypass all SSRF protections. Because the check compares only the hostname and ignores the port, an attacker can reach arbitrary ports on the AVideo server by using the site's public hostname with a non-standard port. The response body is saved to a web-accessible path, enabling full exfiltration. Commit a0156a6398362086390d949190f9d52a823000ba fixes the issue.
Executive ViewAI
WWBN AVideo version 29.0 and earlier contains a server-side request forgery (SSRF) vulnerability with publicly available exploit code that allows authenticated upload users to access internal network resources and exfiltrate sensitive data. Organizations using AVideo for media management face immediate risk of data exposure from internal systems and should restrict upload capabilities pending a vendor patch.
No vendor-released patch identified at time of analysis. Restrict upload permissions to essential trusted users, implement network segmentation to prevent the AVideo server from accessing internal network resources on non-standard ports, establish continuous logging and monitoring of all upload requests for suspicious patterns, disable upload functionality if not operationally critical, and configure firewall rules to limit outbound connections from AVideo servers to only necessary external destinations.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Affected Products (CPE)NVD
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
GHSA-j432-4w3j-3w8j
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB