Quick answers
- Is CVE-2026-81891 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-81891 being exploited in the wild.
- How severe is CVE-2026-81891?
- High severity, with a CVSS score of 8.1, published 31 August 2026.
- Which products and versions are affected?
- studio-42/elfinder (Packagist) < 2.1.70, ECOSYSTEM:introduced=0,fixed=2.1.70; Studio-42 elFinder < 2.1.70.
- Is there a fix for CVE-2026-81891?
- Yes. studio-42/elfinder (Packagist): upgrade to 2.1.70 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-81891 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-81891?
- Check whether you run studio-42/elfinder (Packagist) or Studio-42 elFinder at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- studio-42/elfinder (Packagist): upgrade to 2.1.70 or later
composer require studio-42/elfinder:^2.1.70
Technical details
The vulnerability is a filter bypass in the ZIP extraction command (CWE-434: Unrestricted Upload of File with Dangerous Type). The root cause is inconsistent MIME validation logic: the direct file upload path calls mimetypeInternalDetect() → mimeTypeNormalize() → allowPutMime(), but the extract command (checkExtractItems() at line 7110 of elFinderVolumeDriver.class.php) calls only mimetypeInternalDetect() → allowPutMime(), skipping the normalization stage. Because .phtml, .phar, .php5, and .php3 are absent from the system mime.types database, they return generic types (e.g., application/octet-stream) instead of text/x-php. Without mimeTypeNormalize(), the staticMimeMap that maps these extensions to text/x-php is never applied. An authenticated attacker can create a ZIP containing a PHP payload file with one of these extensions, upload it (bypassing ZIP validation), and extract it, placing executable PHP in a web-accessible directory. On default Apache/Nginx setups, the extracted file is then executable. The fix (confirmed in 2.1.70) applies mimeTypeNormalize() within checkExtractItems() to enforce consistent validation.
Affected products
- Studio-42 elFinder < 2.1.70
Identifiers
- CVE-2026-81891
- GHSA-gxmj-r5rf-ggwq
Timeline
- 2026-08-03: disclosed: vulnerability reported to GitHub Advisory Database
- 2026-09-02: advisory: GHSA-gxmj-r5rf-ggwq published; CVE-2026-81891 assigned
- 2026-09-02: patched: patch released in elFinder 2.1.70
- 2026-08-31: other: NVD published CVE-2026-81891 details