ZeroHour

CVE-2026-81891

large

RCE via ZIP extraction mime-type bypass in elFinder (prior to 2.1.70)

CVSS 3.1
8.1 high
EPSS
<1%p43
Published
()
Modified
AI analysis

elFinder, an open-source web-based file manager built with JavaScript and jQuery UI, fails to normalize detected MIME types during ZIP archive extraction, so files with the .phtml, .phar, .php3, and .php5 extensions bypass uploadDeny rules that block text/x-php. An attacker who holds ZIP upload permission can exploit this by extracting PHP-executable files into the web-accessible files/ directory. If the web server is configured to execute those extensions, the attacker gains remote code execution on the hosting server. Any elFinder deployment prior to version 2.1.70 is affected, especially sites that relied on MIME-type denial rules to prevent PHP uploads. No public proof-of-concept or confirmed in-the-wild exploitation is currently known; EPSS estimates a 0.5% probability of exploitation within 30 days.

What to do: Upgrade elFinder to version 2.1.70 or later, which restores MIME-type normalization during extraction. Until patched, limit ZIP upload permissions to trusted users, confirm the web server does not execute .phtml/.phar/.php3/.php5 files within the files/ directory, and inspect that directory for already-extracted PHP-like files.

Affected
elFinder (open-source project) elFinderall versions prior to 2.1.70 (fixed in 2.1.70)
Estimated exposure
largetens of thousands of web deployments (standalone installs plus CMS integrations bundling elFinder) — elFinder is a widely bundled PHP file-manager library reused in CMS plugins and custom web applications, and public internet scans typically surface on the order of tens of thousands of exposed elFinder endpoints; no authoritative install…

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, checkExtractItems() in php/elFinderVolumeDriver.class.php calls mimetypeInternalDetect() without passing the result through mimeTypeNormalize(). Because the .phtml, .phar, .php5, and .php3 extensions are absent from mime.types, the staticMimeMap entries that map them to text/x-php are not applied, and allowPutMime() permits extraction even when uploadDeny blocks text/x-php. An attacker with ZIP upload permission can extract PHP-executable files into a web-accessible files/ directory and achieve remote code execution when the server executes those extensions. This issue is fixed in version 2.1.70.

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

In the news

No ingested article mentions this CVE yet.