Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Admin credentials required (PR:H); upload is via web interface (AV:N); no complexity beyond authentication (AC:L); full host impact once executed.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
Pluck CMS through 4.7.21 restricts dangerous file uploads in its admin file-management feature using a fixed blacklist in data/inc/files.php ('.php','php3','php4','php5','php6','php7','phtml','.phtm','.pht','.ph3','.ph4','.ph5','.asp','.cgi','.phar'), checked against the last 4-5 characters of the filename. The blacklist omits the '.php8' extension. An authenticated administrator can upload a file named e.g. shell.php8, which is stored unmodified and, on servers running PHP 8.x, is executed as PHP by the web server, resulting in remote code execution.
AnalysisAI
Remote code execution in Pluck CMS through 4.7.21 is achievable by any authenticated administrator who exploits a gap in the file upload blacklist: the extension '.php8' is absent from the hardcoded deny-list in data/inc/files.php, allowing a crafted file to be stored and subsequently executed as PHP on servers running PHP 8.x. Reported by TuranSec, this CWE-434 flaw carries a CVSS 7.2 (PR:H), meaning exploitation is constrained to admin-level accounts but delivers full confidentiality, integrity, and availability impact once triggered. No public exploit code or CISA KEV listing is confirmed at time of analysis, but the bypass is trivially reproducible from the CVE description by any administrator with upload access.
Technical ContextAI
Pluck CMS (CPE: cpe:2.3:a:pluck-cms:pluck_cms:*:*:*:*:*:*:*:*) implements file upload safety exclusively via a hardcoded extension blacklist defined in data/inc/files.php. The blacklist checks the last 4-5 characters of the uploaded filename against a fixed set: .php, php3, php4, php5, php6, php7, phtml, .phtm, .pht, .ph3, .ph4, .ph5, .asp, .cgi, .phar. This deny-list strategy is inherently brittle under CWE-434 (Unrestricted Upload of File with Dangerous Type) - any extension not explicitly enumerated passes validation unchecked. PHP 8.x introduced the '.php8' extension as a recognized PHP handler mapping, but the Pluck blacklist was never updated to include it. Because the uploaded file is stored unmodified on disk and the web server's MIME/handler configuration maps .php8 to the PHP 8 interpreter, the file executes with full web server privileges when requested. A whitelist-based approach (permitting only safe, explicitly known extensions) would eliminate this entire vulnerability class.
RemediationAI
No vendor-released patched version has been identified in the provided references - the only reference points to the upstream GitHub repository (https://github.com/pluck-cms/pluck) without a specific advisory, commit, or tagged fix release. Administrators should monitor the Pluck CMS GitHub repository for a patch addressing this omission. As an immediate compensating control, administrators with filesystem access can manually add '.php8' to the extension blacklist in data/inc/files.php; note this is a brittle workaround that remains vulnerable to any future PHP extensions not yet enumerated (e.g., hypothetical .php9). A stronger mitigation is to reconfigure the blacklist logic to a strict whitelist of permitted extensions (e.g., jpg, png, gif, pdf, txt, zip) and reject all others - this eliminates the entire blacklist-bypass vulnerability class at the cost of restricting what file types administrators can upload. Additionally, web server configuration can be modified to prevent execution of any scripts within the CMS upload directory (using Apache's Options -ExecCGI, or nginx's fastcgi_param restrictions on the uploads path), which breaks the execution step even if a malicious file is stored.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same technique File Upload
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53192
GHSA-fvwx-9qcr-crph