Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend request with attacker-set encoder_aVideoURL/siteURL to encoder
-
DeliveryEncoder fetches internal or metadata URL, allowlist empty by default
-
ExploitRaw response body stored in session result field
-
ExecutionRead full response via login.json.php, harvest cloud IAM credentials
-
ImpactPivot to internal HTTP/TCP/FTP services from encoder
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 | Exploitable against default configurations of AVideo-Encoder: the only destination gate, Streamer::isURLAllowed, permits all targets when the operator allowlist is empty, which is the default, and Login::isLogged re-authenticates from the attacker-settable encoder_aVideoURL cookie plus arbitrary nonempty encoder_user/encoder_pass cookies, so no account or operator interaction is needed. No special feature must be enabled for the core SSRF; TLS peer verification is disabled, so untrusted self-signed HTTPS certificates on internal targets are accepted. Limiting factors: the attacker must have network reachability to the encoder; full credential theft via the metadata path requires the encoder to run in a cloud environment with a reachable instance-metadata service (e.g. 169.254.169.254); the FTP variant additionally requires an ftp-scheme videoURL routed through view/youtubeDl.json.php; and if an operator has populated a non-empty allowlist, destinations are restricted to allowed sites. On 8.1.0 the raw-response reflection is removed, but private-network exemptions and login TLS-verification defaults still leave the internal-network and TLS variants exploitable. |
| Impact | All provided signals point to a genuine, actionable priority rather than an inflated CVSS number. The CVSS vector (AV:N/AC:L/PR:N/UI:N) is corroborated by the GHSA advisory and the PoC: exploitation is network-reachable, low-complexity, unauthenticated (PR:N), and needs no user interaction, because Login::isLogged re-authenticates from attacker-settable cookies and Streamer::isURLAllowed returns true when the operator allowlist is empty - the default state. The vuln.today decision label is 'this_week', consistent with a serious but not emergency-grade issue; there is no CISA KEV entry in the input, so active exploitation is not confirmed, and no EPSS score is provided, so widespread-exploitation probability cannot be quantified from the data given. A documented PoC exists in the GHSA advisory (working curl requests demonstrating credential exfiltration), which raises practical risk above a theoretical SSRF. The most important nuance is a patch-signal conflict: the multi-source input says a patch is 'Available from vendor' (v8.1.0), but the description and GHSA both state 8.1.0 is only an initial remediation attempt and the GHSA package record says 'fixed in: not yet patched' - so 'patch available' overstates the remediation status, and defenders should treat the private-network and TLS-verification variants as unresolved. Net: a real, high-severity unauthenticated SSRF with credential-theft impact meriting prompt action this week, with the caveat that the advertised fix is incomplete. |
| Exploit ScenarioDerived | An unauthenticated attacker who can reach the encoder sends a request carrying an attacker-set encoder_aVideoURL cookie (or a siteURL/videoURL field) pointing at an internal address such as the cloud instance-metadata endpoint 169.254.169.254; the encoder fetches it from its own network position and reflects the raw body back in the login response's result field, handing the attacker IAM role credentials. The GHSA advisory includes a working proof-of-concept (curl requests) demonstrating the cookie SSRF, disabled-TLS exploitation, internal TCP/port reach, and the pre-auth FTP variant. Because the vector is AV:N/AC:L/PR:N/UI:N against the default empty-allowlist configuration, no account, operator interaction, or complex conditions are required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Unauthenticated server-side request forgery in AVideo-Encoder (WWBN / AVideo project) before the 8.1.0 remediation attempt lets anyone who can reach the encoder force it to fetch arbitrary URLs from its own network position, with the raw fetched body reflected back in the JSON login response - enough to harvest cloud instance-metadata credentials or probe internal HTTP, HTTPS, TCP and FTP services. No account or operator interaction is required because the only destination gate (Streamer::isURLAllowed) allows every target when the operator allowlist is empty, which is the default, and TLS peer verification is disabled so untrusted self-signed internal HTTPS endpoints are accepted. A public proof-of-concept reproduction (curl-based) is documented in the vendor security advisory; there is no confirmed active exploitation (not in CISA KEV). Version 8.1.0 is an initial remediation that removes raw-response reflection and adds destination checks, but private-network exemptions and the login TLS-verification default leave the internal-network and TLS variants unresolved.
RemediationAI
Vendor-released patch: AVideo-Encoder 8.1.0 (release tag v8.1.0, fix commit 60430ee18f669798485e81276a1fb6d26b06eb9a) - upgrade from the vulnerable <= 8.0 range. Treat 8.1.0 as an initial remediation only: the vendor advisory and the assessment both note that private-network exemptions and the login TLS-verification default leave the internal-network and TLS variants unresolved, so operators must also configure a non-empty Streamer destination allowlist, since with an empty allowlist every target is permitted, and must explicitly disable $global['allowPrivateNetworkURLs'] and set $global['disableSSLVerification'] to false so the patched checks actually reject private/reserved destinations and enforce peer verification. Where the encoder must remain exposed, restrict its egress so it cannot reach instance-metadata endpoints such as 169.254.169.254 or unneeded internal TCP/FTP ports, and require IMDSv2-style session-token protections on cloud metadata services; note that network-level egress filtering does not fix the application flaw and can break legitimate remote-source imports. Consult https://github.com/WWBN/AVideo-Encoder/security/advisories/GHSA-cvhm-j9cp-8w59 and https://github.com/WWBN/AVideo-Encoder/releases/tag/v8.1.0 for vendor guidance, and monitor for a follow-up release completing the remediation.
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 root cause is CWE-918 (Server-Side Request Forgery) in the PHP outbound-fetch helper url_get_contents() in objects/functions.php, which validates caller-supplied destinations only with FILTER_VALIDATE_URL - a pure syntax check - and then fetches them via file_get_contents() or cURL without rejecting private, loopback or link-local ranges. TLS verification is disabled both per-request (verify_peer/verify_peer_name false, allow_self_signed true) and process-wide via a global stream_context_set_default, which chains CWE-295 improper certificate validation and, through body reflection, CWE-200 information exposure. The unauthenticated trigger is Login::isLogged, which re-authenticates against the attacker-settable encoder_aVideoURL cookie together with arbitrary nonempty encoder_user/encoder_pass cookies on any page that checks login state; Login::run stores the raw fetched body in the session object's result field, and objects/login.json.php echoes the entire session object, so a supplied siteURL is fetched and its full response returned verbatim. The single destination control, Streamer::isURLAllowed, returns true when the operator allowlist is empty (the default). A second, pre-authentication variant routes an ftp-scheme videoURL from view/youtubeDl.json.php into FTPDownloader, where parseFtpUrl takes the host and port straight from the URL and passes them to ftp_connect, giving internal FTP reachability. Affected deployments per CPE are cpe:2.3:a:wwbn:avideo-encoder:*:*:*:*:*:*:*:*; the advisory was tested against master built from the official Dockerfile.
Know when PHP 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:N/UI:N/S:U/C:H/I:L/A:L
Unauthenticated low-complexity network SSRF against the default empty allowlist (PR:N/AC:L); impact crosses into internal/metadata systems (S:C) exposing credentials (C:H) with limited integrity/availability effect on reached services.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
AVideo is a video-sharing Platform. Before the initial remediation attempt in 8.1.0, url_get_contents in objects/functions.php accepts caller-controlled destinations after only FILTER_VALIDATE_URL syntax validation, without rejecting private, loopback, or link-local addresses, and disables TLS peer verification. Login::isLogged reauthenticates using the attacker-settable encoder_aVideoURL cookie together with arbitrary nonempty encoder_user and encoder_pass cookies, and Login::run stores the raw fetched body in result. The unauthenticated objects/login.json.php endpoint returns that session object, enabling full-response exfiltration through a supplied siteURL; its Streamer::isURLAllowed gate allows all sites when the operator allowlist is empty, the default. An unauthenticated remote attacker can read internal HTTP and HTTPS responses, including cloud instance-metadata credentials, and reach internal TCP services. A further pre-authentication FTP variant in view/youtubeDl.json.php routes an ftp videoURL into FTPDownloader; parseFtpUrl in objects/FTPDownloader.php accepts its host and port for ftp_connect. This also enables requests to internal FTP services. Untrusted self-signed HTTPS certificates are accepted, and no account or operator interaction is required. Version 8.1.0 contains an initial remediation attempt that removes raw-response reflection and adds destination checks, but private-network exemptions and login TLS-verification defaults leave complete remediation of the described internal-network and TLS variants unresolved.
Technical POC Analysis
CWE-918 (Server-Side Request Forgery), chained with CWE-295 (improper certificate validation) and CWE-200 (information exposure), in the AVideo-Encoder application.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-61572 is a high-severity unauthenticated server-side request forgery (SSRF) vulnerability in AVideo-Encoder that allows any reachable attacker to force the encoder to fetch arbitrary URLs and reflect the raw response, potentially exposing cloud instance-metadata credentials and internal network services. The default configuration (empty allowlist) leaves all AVideo-Encoder deployments exposed, and successful exploitation could lead to credential theft and lateral movement within the organization's cloud environment. Leadership should prioritize immediate patching and network restrictions to protect sensitive cloud infrastructure.
Apply vendor patch.
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.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-112512
NVD
CVE.org
GitHub
Exploit-DB