Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as uploader
-
DeliveryStore videoLink to attacker redirector
-
ExploitVictim views video triggers server GET
-
ExecutionRedirect bypasses isSSRFSafeURL to internal host
-
PersistObserve embed-vs-video render oracle
-
ImpactMap internal ports and services
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 a valid authenticated account with the uploader role (PR:L) able to submit a video with an attacker-controlled videoLink URL, so instances that restrict uploading to trusted staff are far less exposed than those allowing open uploader self-registration. The attacker must control a redirector that first passes isSSRFSafeURL() on the initial URL and then 302-redirects to an internal target, since get_headers() follows the redirect without re-validating. Triggering the server-side request also requires a visitor (or the attacker) to view the stored video, and useful results depend on the server having network reachability to internal services; exploitation is blind, yielding only a port/service-reachability oracle rather than response contents. Affected: AVideo before 29.4.0. |
| Impact | This is a genuine but moderate-priority issue, not a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network-reachable, low-complexity exploitation, but PR:L means a valid authenticated uploader account is required, which meaningfully narrows the attacker population to insiders or users of instances that allow self-registration of uploaders. The impact is constrained: this is a BLIND SSRF whose practical value is internal reconnaissance (port scanning) via an embed-versus-video render oracle, not direct data exfiltration or RCE, which is consistent with the medium 5.3 base score. No EPSS score was provided in the input, and there is no CISA KEV listing and no public exploit code referenced - exploitation status is 'no public exploit identified at time of analysis.' The signals are internally consistent (medium severity, authenticated, limited-impact SSRF), so there is no CVSS-versus-reality conflict to flag; the main caveat is that EPSS data is absent, so probabilistic exploitation likelihood could not be weighed. Overall: patch on a normal cadence, prioritizing multi-tenant or public-upload AVideo deployments where untrusted users hold uploader roles and where the server has network paths to sensitive internal services (metadata endpoints, admin panels). |
| Exploit ScenarioDerived | An attacker with a low-privileged uploader account on an AVideo instance stores a video whose videoLink points to an attacker-controlled redirector. When any visitor views that video, the server calls getHeaderContentTypeFromURL(), and get_headers() follows the redirect to an internal host without re-validating it, issuing an internal GET request. By observing whether the content renders as an embed versus a native video, the attacker infers whether internal ports/services are reachable, scanning the internal network. No public exploit code is referenced, but the vendor patch commit and included test case fully illustrate the technique. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Blind server-side request forgery in WWBN AVideo before 29.4.0 allows authenticated users with uploader privileges to make the server issue GET requests to arbitrary internal hosts by storing a videoLink that points to an attacker-controlled redirector. The initial URL passes isSSRFSafeURL(), but get_headers() follows the 302 without re-validating the redirect target, and the resulting embed-versus-video render difference gives a blind oracle for internal port and service reachability. Only a limited confidentiality/integrity impact is achievable (CVSS 5.3, PR:L, scope-changed) and no public exploit code or confirmed active exploitation was identified at time of analysis; a vendor patch exists in 29.4.0.
RemediationAI
Upgrade to AVideo 29.4.0 or later, which includes commit 2db920d3326729743511a27de44034b0a6c78b05 enforcing follow_location=0 and per-hop isSSRFSafeURL() re-validation in getHeaderContentTypeFromURL() (vendor-released patch: 29.4.0; see https://github.com/WWBN/AVideo/security/advisories/GHSA-m8q2-35pq-qrmc). If upgrading immediately is not possible, restrict the uploader role to trusted accounts and disable open uploader self-registration, since the attack requires the ability to store an attacker-controlled videoLink; accept the trade-off that this removes self-service publishing. Additionally apply egress filtering on the web tier to deny outbound HTTP(S) to RFC1918, loopback, link-local, and cloud metadata ranges (169.254.169.254), which breaks the redirect-to-internal pivot but may interfere with legitimate third-party URL ingestion such as oEmbed or thumbnail fetching. Network segmentation that places AVideo in a segment with no route to management or metadata services provides defense in depth, and monitoring for outbound requests to internal hosts from the AVideo server can detect probing attempts.
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 affected code is getHeaderContentTypeFromURL() in objects/functions.php of AVideo, a PHP-based video CMS. It validated the caller-supplied URL with isValidURL() and isSSRFSafeURL() (CWE-918 class SSRF protections) and then called PHP's get_headers() using the default stream context, where http.follow_location defaults to enabled. Because the SSRF check ran only on the first hop, a public redirector could point the follow-up request at localhost, RFC1918 addresses, or cloud metadata endpoints. The committed fix (2db920d) returns false on an invalid or unsafe initial URL, forces follow_location=0, preserves the wrapper's max_redirects budget, and follows Location headers manually, resolving relative paths via ssrfResolveRedirectURL() and re-running isSSRFSafeURL() on every hop, logging blocked redirects to AVideoLog::$SECURITY. A PHPUnit test (tests/Security/HeaderContentTypeRedirectTest.php) covers safe multi-hop chains, relative and '0' Location values, informational 1xx responses preceding the redirect, and rejection of unsafe redirect targets. Because responses are never returned to the attacker, the primitive is a blind oracle: the differing render path for embed versus direct video tells the attacker whether a probed internal host/port answered with an acceptable Content-Type.
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:L/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L
Authenticated uploader (PR:L) over the network (AV:N); SSRF crosses a trust boundary into internal systems (S:C) yielding limited reconnaissance info (C:L), with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
WWBN AVideo before 29.4.0 contains a blind server-side request forgery vulnerability in getHeaderContentTypeFromURL() because get_headers() follows redirects without re-validating targets with isSSRFSafeURL(). Authenticated uploaders can store a videoLink pointing to a redirector, causing internal GET requests when visitors view the video, enabling internal port scanning via the embed-versus-video render oracle.
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.
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-107889
GHSA-q3pp-qv9v-8p7v
NVD
CVE.org
EPSS
Exploit-DB