Skip to main content

elFinder CVE-2026-81891

| EUVDEUVD-2026-68800 HIGH
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-08-31 GitHub_M GHSA-gxmj-r5rf-ggwq
8.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain ZIP upload permission in elFinder
  2. Delivery
    Craft ZIP archive with .phtml/.phar PHP webshell
  3. Exploit
    Upload ZIP via elFinder web interface
  4. Install
    Trigger ZIP extraction (checkExtractItems bypasses uploadDeny for PHP-alias extensions)
  5. C2
    Webshell lands in web-accessible files/ directory
  6. Execute
    Send HTTP request to extracted .phtml file
  7. Impact
    Achieve 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

elFinder < 2.1.70

Affected Packages

composer studio-42/elfinder fix: 2.1.70
euvd elfinder fix: 2.1.70

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

Vendor (GitHub_M) PRIMARY 8.1 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Aug 31, 2026 - 22:18 EUVD
CVE Published
Aug 31, 2026 - 20:33 cve.org
HIGH 8.1

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Medium
popular open-source web file manager embedded in many hosting panels
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

61
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +40
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

CVE-2021-32682 CRITICAL POC
9.8 Jun 14

elFinder is an open-source file manager for web, written in JavaScript using jQuery UI. Rated critical severity (CVSS 9.

CVE-2019-9194 CRITICAL POC
9.8 Feb 26

elFinder before 2.1.48 has a command injection vulnerability in the PHP connector. Rated critical severity (CVSS 9.8), t

CVE-2022-27115 CRITICAL POC
9.8 Apr 11

In Studio-42 elFinder 2.1.60, there is a vulnerability that causes remote code execution through file name bypass for fi

CVE-2021-23394 CRITICAL POC
9.8 Jun 13

The package studio-42/elfinder before 2.1.58 are vulnerable to Remote Code Execution (RCE) via execution of PHP code in

CVE-2022-26960 CRITICAL POC
9.1 Mar 21

connector.minimal.php in std42 elFinder through 2.1.60 is affected by path traversal. Rated critical severity (CVSS 9.1)

CVE-2026-81889 HIGH POC
8.6 Aug 31

SSRF protection bypass in elFinder's URL upload feature allows remote attackers to reach internal HTTP services by explo

CVE-2023-35840 MEDIUM POC
6.5 Jun 19

_joinPath in elFinderVolumeLocalFileSystem.class.php in elFinder before 2.1.62 allows path traversal in the PHP LocalVol

CVE-2024-38909 CRITICAL
9.8 Jul 30

Studio 42 elFinder 2.1.64 is vulnerable to Incorrect Access Control. Rated critical severity (CVSS 9.8), this vulnerabil

CVE-2026-81890 MEDIUM POC
5.4 Aug 31

CSRF protection is absent for the netmount command in elFinder prior to 2.1.70, allowing a cross-site request from an at

CVE-2018-9110 CRITICAL
9.1 Mar 28

Studio 42 elFinder before 2.1.37 has a directory traversal vulnerability in elFinder.class.php with the zipdl() function

CVE-2018-9109 CRITICAL
9.1 Mar 28

Studio 42 elFinder before 2.1.36 has a directory traversal vulnerability in elFinder.class.php with the zipdl() function

CVE-2026-41247 HIGH
8.9 Apr 23

Command injection in elFinder before 2.1.67 lets attackers reach OS command execution as the web server user through the

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy