ZeroHour

CVE-2026-81889

niche

Unauthenticated SSRF bypass via DNS rebinding in elFinder URL uploads

CVSS 3.1
8.6 high
EPSS
<1%p26
Published
()
Modified
AI analysis

elFinder, an open-source web-based file manager, does not fully enforce its server-side request forgery (SSRF) protections for URL uploads before version 2.1.70: when PHP cURL is unavailable, validate_address() checks the IP from an initial DNS resolution, but fsock_get_contents() then connects using the hostname and performs a second, independent DNS lookup. An attacker who can submit a URL upload can exploit DNS rebinding so the first lookup returns a public address while the connection lookup returns a loopback or private address, causing the server to fetch an internal resource and store its HTTP response body as an uploaded file that the attacker can then read through elFinder. Independently, get_headers($url, true) re-requests the original hostname without reusing the validated and pinned connection, creating an additional blind SSRF path that applies even when the cURL code path is selected. Any deployment running the elFinder PHP backend prior to 2.1.70 with URL uploads enabled is affected, including standalone installations and applications that embed elFinder. There is currently no known exploitation, no public proof-of-concept, and the flaw is not in CISA's KEV catalog, with EPSS estimating a 0.3% chance of exploitation in the next 30 days.

What to do: Upgrade elFinder to version 2.1.70 or later. As interim mitigations, ensure the PHP cURL extension is installed so the vulnerable fsockopen path is not used, restrict URL-upload functionality to trusted users, and apply network controls that prevent the web server from reaching loopback or internal/private network services. Check your elFinder configuration to confirm whether URL uploads are enabled and whether any untrusted users can reach them.

Affected
elFinder project elFinder (PHP file manager backend)prior to 2.1.70
Estimated exposure
nichelikely hundreds to a few thousand internet-exposed deployments — elFinder is an embedded open-source library typically used inside CMS and application admin panels rather than exposed as a standalone public service, so only a fraction of its deployments are likely internet-reachable, and exploitability…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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.

Weakness
CWE-918
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

In the news

No ingested article mentions this CVE yet.