Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconOperate DNS server with zero-TTL records
-
DeliverySubmit attacker-controlled URL to elFinder upload
-
ExploitFirst DNS resolution returns public IP, passes validate_address()
-
InstallSecond DNS resolution in fsock_get_contents() returns internal IP
-
C2Connect to internal HTTP service
-
ExecuteInternal response body stored as uploaded file
-
ImpactRetrieve internal data via elFinder file read
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 | The primary exploitation path requires PHP without the cURL extension installed, forcing |
| Impact | The CVSS 8.6 vector (S:C/C:H) accurately reflects that SSRF can cross security boundaries and expose full internal HTTP response bodies - the non-blind nature amplifies the severity. However, the AC:L metric likely overstates exploitability: DNS rebinding requires the attacker to operate a DNS server with zero-TTL records and successfully exploit a timing race between two independent DNS lookups, which in practice introduces meaningful real-world complexity. The primary exploitation path also requires PHP without the cURL extension, which is non-default in well-maintained PHP deployments; organizations running PHP with cURL installed are only exposed to the secondary |
| Exploit ScenarioDerived | An attacker registers a domain backed by a controlled DNS server configured to serve near-zero TTL A records, initially returning a public IP that passes elFinder's |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 31, 2026
SSRF protection bypass in elFinder's URL upload feature allows remote attackers to reach internal HTTP services by exploiting a DNS rebinding race condition in php/elFinder.class.php prior to version 2.1.70. The server stores the internal service's HTTP response body as an uploaded file that is subsequently readable through the elFinder interface, making this a non-blind SSRF - a more impactful variant than typical SSRF. A public proof-of-concept is available via the GHSA advisory; no active exploitation has been confirmed in the CISA KEV at time of analysis.
RemediationAI
Upgrade elFinder to version 2.1.70 via composer update studio-42/elfinder; the release is available at https://github.com/Studio-42/elFinder/releases/tag/2.1.70, patched via commits 191372c and 6d99738. The first commit adds an errUploadUrlNoCurl error message, indicating the fix disables URL uploads entirely when PHP's cURL extension is unavailable - eliminating the fsock_get_contents() attack path at the feature level. If immediate upgrade is not feasible: install and enable PHP's cURL extension to force the cURL code path with CURLOPT_RESOLVE IP pinning, which mitigates the primary DNS rebinding vector but does not address the secondary get_headers() blind SSRF path. Additionally, restrict access to elFinder's URL upload functionality via application-layer authentication and limit outbound connections from the PHP process to internal network ranges through firewall policy or PHP-FPM network namespace controls. Note that cURL enablement alone is an incomplete mitigation - the get_headers() blind SSRF channel persists until 2.1.70 is deployed.
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
elFinder (CPE: cpe:2.3:a:studio-42:elfinder:*:*:*:*:*:*:*:*) is a PHP-based server-side file management connector. The vulnerability is classified as CWE-918 (Server-Side Request Forgery) and arises from a time-of-check/time-of-use (TOCTOU) flaw in the URL upload pipeline. validate_address() calls gethostbyname() on the attacker-supplied hostname and rejects loopback and RFC1918 addresses. When PHP's cURL extension is absent, get_remote_contents() falls back to fsock_get_contents(), which reconnects to the original hostname and triggers a second, independent DNS resolution. An attacker controlling a DNS server with near-zero TTL records can serve a public IP for the first (validation) resolution and a loopback or private IP for the second (connection) resolution, bypassing the blocklist entirely. The cURL code path correctly defends against this by pinning the validated IP via CURLOPT_RESOLVE, but the socket fallback lacks this pin. A secondary blind SSRF channel exists even in cURL-enabled deployments: get_headers($url, true) is called after validation on the original hostname without reusing the validated, pinned connection.
Know when Elfinder 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:C/C:H/I:N/A:N
DNS rebinding requires attacker-controlled DNS infrastructure and a timed dual-resolution race, elevating AC to H over the NVD's AC:L assignment.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
elFinder is an open-source file manager for web, written in JavaScript using jQuery UI. Prior to 2.1.70, elFinder URL uploads in php/elFinder.class.php can bypass server-side request forgery protections when PHP cURL is unavailable because validate_address() validates $info['ip'], but get_remote_contents() selects fsock_get_contents(), which connects to $arr['host'] and performs a second DNS resolution. An attacker able to submit a URL upload can use DNS rebinding to have the first resolution return a public address and the connection resolution return a loopback or private address, causing the internal HTTP response body to be stored as an uploaded file and made readable through elFinder. After a successful fetch, get_headers($url, true) separately requests the original hostname without reusing the validated and pinned connection, creating an additional blind server-side request forgery path even when curl_get_contents() is selected. This issue is fixed in version 2.1.70.
Articles & Coverage 1
Technical POC Analysis
CWE-918 (SSRF), with a TOCTOU sub-flaw (possibly CWE-367) in php/elFinder.class.php.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
elFinder prior to version 2.1.70 contains a server-side request forgery (SSRF) vulnerability in its URL upload feature that enables attackers to access internal HTTP services and retrieve sensitive data through the application interface. Organizations deploying elFinder face risk of unauthorized backend system access and potential data exfiltration from internal services. Immediate action is required to restrict this capability until a vendor patch becomes available.
Disable the URL upload feature in elFinder configuration settings. Implement network-level egress filtering and firewall rules to prevent outbound HTTP/HTTPS connections to internal services. Restrict access to elFinder administrative and upload interfaces through IP whitelisting or require VPN authentication. Enable detailed application logging to detect and alert on unusual connection attempts. Isolate the elFinder application server on a separate network segment with minimal connectivity to sensitive internal systems.
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.
elFinder is an open-source file manager for web, written in JavaScript using jQuery UI. Rated critical severity (CVSS 9.
elFinder before 2.1.48 has a command injection vulnerability in the PHP connector. Rated critical severity (CVSS 9.8), t
In Studio-42 elFinder 2.1.60, there is a vulnerability that causes remote code execution through file name bypass for fi
The package studio-42/elfinder before 2.1.58 are vulnerable to Remote Code Execution (RCE) via execution of PHP code in
connector.minimal.php in std42 elFinder through 2.1.60 is affected by path traversal. Rated critical severity (CVSS 9.1)
Remote code execution in elFinder prior to 2.1.70 allows an authenticated user with ZIP upload permission to bypass the
_joinPath in elFinderVolumeLocalFileSystem.class.php in elFinder before 2.1.62 allows path traversal in the PHP LocalVol
Studio 42 elFinder 2.1.64 is vulnerable to Incorrect Access Control. Rated critical severity (CVSS 9.8), this vulnerabil
CSRF protection is absent for the netmount command in elFinder prior to 2.1.70, allowing a cross-site request from an at
Studio 42 elFinder before 2.1.37 has a directory traversal vulnerability in elFinder.class.php with the zipdl() function
Studio 42 elFinder before 2.1.36 has a directory traversal vulnerability in elFinder.class.php with the zipdl() function
Command injection in elFinder before 2.1.67 lets attackers reach OS command execution as the web server user through the
EUVD-2026-68768
GHSA-8x3q-jpjh-qh5c
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB