Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain ZIP upload permission in elFinder
-
DeliveryCraft ZIP archive with .phtml/.phar PHP webshell
-
ExploitUpload ZIP via elFinder web interface
-
InstallTrigger ZIP extraction (checkExtractItems bypasses uploadDeny for PHP-alias extensions)
-
C2Webshell lands in web-accessible files/ directory
-
ExecuteSend HTTP request to extracted .phtml file
-
ImpactAchieve server-side remote code execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) the attacker must hold ZIP upload permission within elFinder - this is a granted role, not anonymous access, making unauthenticated exploitation possible only if elFinder is deployed with open/public upload access; (2) the web server must be configured to execute at least one of .phtml, .phar, .php5, or .php3 as PHP - this is non-default in stock Apache/nginx but common in shared hosting environments and many CPanel/ISPConfig setups; (3) the elFinder extraction target directory must be web-accessible, which is the default files/ directory. What limits exploitation: deployments where all three conditions are not simultaneously true are not exploitable; if the web server treats these extensions as plaintext or denies access to files/, the webshell cannot be triggered even after extraction. The uploadDeny configuration blocking text/x-php must also be in place for the bypass to be meaningful - if uploadDeny is not configured at all, direct PHP upload may already be possible. |
| Impact | The provided CVSS 3.1 score of 8.1 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) rates impact as critical but complexity as High, which aligns with the multi-condition nature of this bypass. However, the PR:N metric warrants scrutiny: the description explicitly states the attacker requires 'ZIP upload permission,' implying at minimum a granted role or low-privilege authentication - this analysis assesses PR:L as more accurate. AC:H is appropriate given two additional conditions beyond network access: the server must be configured to execute .phtml/.phar/.php3/.php5 as PHP (non-default but common in shared hosting), and the extraction target must be web-accessible. No EPSS data, CISA KEV listing, or public POC was provided, so exploitation probability cannot be quantified independently. The combination of a concrete file-upload bypass, a clear RCE path, and multiple affected extension aliases makes this a medium-to-high operational priority for any deployment where ZIP upload is granted to untrusted users. The AC:H requirement meaningfully reduces the exploitable attack surface compared to a straightforward unrestricted upload flaw. |
| Exploit ScenarioDerived | An attacker with a low-privilege elFinder account (or any account granted ZIP upload rights) crafts a ZIP archive containing a PHP webshell named shell.phtml. They upload and extract the archive through the elFinder UI; because checkExtractItems() misidentifies .phtml as a non-PHP MIME type, the uploadDeny block for text/x-php is not triggered, and the file is written to the web-accessible files/ directory. The attacker then issues an HTTP GET to /files/shell.phtml, the PHP interpreter executes the file, and the attacker has an interactive remote shell on the server. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 31, 2026
Remote code execution in elFinder prior to 2.1.70 allows an authenticated user with ZIP upload permission to bypass the uploadDeny MIME-type block for PHP-executable extensions. The root cause is that checkExtractItems() calls mimetypeInternalDetect() without normalizing the result through mimeTypeNormalize(), so .phtml, .phar, .php5, and .php3 extensions are not recognized as text/x-php during extraction, letting allowPutMime() approve files that direct upload would reject. No public exploit code or CISA KEV listing has been identified at time of analysis, but the impact is full server-side code execution if the web server processes these extensions as PHP.
RemediationAI
Upgrade to elFinder 2.1.70 immediately; this is a vendor-confirmed patch available at https://github.com/Studio-42/elFinder/releases/tag/2.1.70 and addressed by commits dd73e702820c146a192969800ee674ecdb208365 and 191372c1bbebbd36fb55af79a84b9984861390ff. If upgrading is not immediately possible, the most targeted compensating control is to revoke ZIP archive upload/extraction permissions from any untrusted user role in the elFinder configuration, eliminating the initial delivery vector. As a secondary measure, configure the web server to explicitly deny execution of .phtml, .phar, .php3, and .php5 extensions in the elFinder files/ directory (e.g., Apache: AddType text/plain .phtml .phar .php3 .php5 within a Directory block; nginx: location ~* \.p(html|har|hp3|hp5)$ { deny all; }). Note that restricting execution at the web server level does not fix the extraction bypass and leaves non-executable payloads in place. Both controls together provide defense-in-depth but are not a substitute for patching.
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 jQuery/PHP open-source web file manager widely embedded in hosting panels and CMS back-ends. The vulnerability is classified CWE-434 (Unrestricted Upload of File with Dangerous Type). The specific failure is a MIME-type normalization gap: elFinderVolumeDriver.class.php's checkExtractItems() retrieves a MIME type via mimetypeInternalDetect() but skips the mimeTypeNormalize() call. Because mime.types does not contain entries for .phtml, .phar, .php5, or .php3, the staticMimeMap that maps those extensions to text/x-php is never consulted during extraction. The downstream allowPutMime() check therefore never sees text/x-php for these files and approves extraction even when uploadDeny is configured to block PHP uploads. The extracted PHP files land in a web-accessible files/ directory, and any HTTP request to them triggers server-side execution.
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:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ZIP upload permission is an explicit prerequisite per the description, making PR:L more accurate than the vendor's PR:N; AC:H retained for server-execution and web-accessibility conditions.
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, 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.
Articles & Coverage 1
Technical POC Analysis
CWE-434, unrestricted upload of a dangerous file type.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
elFinder file management system (versions prior to 2.1.70) contains a critical remote code execution vulnerability affecting any organization that grants file upload permissions to users. Authenticated users with archive upload privileges can bypass security controls and execute arbitrary code on the server, creating direct risk of system compromise and data breach. This vulnerability exploits core file-sharing functionality that most organizations rely on for normal operations.
No vendor-released patch identified at time of analysis. Interim mitigations: disable archive extraction in elFinder configuration, restrict ZIP uploads to administrators via access controls, configure web server to prevent PHP execution (.php, .phtml, .php3, .php5, .phar) in upload directories, move upload storage outside the web root, enforce strict file-type validation at upload time, and implement monitoring for suspicious .phtml, .php3, .php5, or .phar files appearing in upload locations or extraction failure events.
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
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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)
SSRF protection bypass in elFinder's URL upload feature allows remote attackers to reach internal HTTP services by explo
_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-68800
GHSA-gxmj-r5rf-ggwq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB