CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Lifecycle Timeline
4Description
An unrestricted file upload vulnerability exists in BuilderEngine 3.5.0 via the integration of the elFinder 2.0 file manager and its use of the jQuery File Upload plugin. The plugin fails to properly validate or restrict file types or locations during upload operations, allowing an attacker to upload a malicious .php file and subsequently execute arbitrary PHP code on the server under the context of the web server process. While the root vulnerability lies within the jQuery File Upload component, BuilderEngine’s improper integration and lack of access controls expose this functionality to unauthenticated users, resulting in full remote code execution.
Analysis
BuilderEngine 3.5.0 contains a critical unrestricted file upload vulnerability in its elFinder 2.0 integration and jQuery File Upload plugin, allowing unauthenticated attackers to upload and execute arbitrary PHP files on the server, resulting in complete remote code execution (RCE) under the web server process context. The vulnerability is characterized by a CVSS 9.3 score with no authentication or user interaction required, making it immediately exploitable across network boundaries.
Technical Context
The vulnerability stems from improper input validation (CWE-20: Improper Input Validation) in the jQuery File Upload plugin as integrated into BuilderEngine's elFinder 2.0 file manager component. The root cause is the failure to enforce file type whitelisting, extension validation, and upload directory restrictions. The jQuery File Upload plugin, designed for legitimate client-side file uploads, lacks server-side verification of MIME types and file extensions when integrated into BuilderEngine without proper access controls. BuilderEngine fails to restrict upload endpoints to authenticated users, exposing the vulnerable jQuery File Upload handler to unauthenticated requests. The combination allows attackers to POST a malicious .php file to the upload endpoint, which is stored in a web-accessible directory and subsequently executed via direct HTTP requests, executing arbitrary PHP code in the context of the web server process (typically www-data or apache user).
Affected Products
BuilderEngine 3.5.0 and likely earlier versions utilizing elFinder 2.0 with jQuery File Upload plugin are affected. The vulnerability is product-specific to BuilderEngine's improper integration rather than a standalone jQuery File Upload issue. CPE string (estimated): cpe:2.3:a:builderengine:builderengine:3.5.0:*:*:*:*:*:*:*. Dependent components affected: elFinder 2.0 (file manager), jQuery File Upload plugin (upload handler). Vendor advisories and patch availability are not provided in the supplied data; immediate contact with BuilderEngine vendor or review of official security advisories at builderengine.com is required to identify patched versions (likely 3.5.1 or later if patch available).
Remediation
Immediate actions: (1) Patch to a patched BuilderEngine version if available from the vendor (3.5.1+)—verify vendor advisory for confirmed patch release; (2) If patching is not immediately feasible, implement emergency mitigations: disable or restrict access to file upload endpoints at the web server level (nginx/Apache) using IP whitelisting or authentication middleware; (3) Implement strict server-side file upload validation: enforce whitelist of permitted MIME types (not blacklist), validate file extensions server-side, store uploads outside web root or in a directory with PHP execution disabled (.htaccess: php_flag engine off), enforce Content-Type header verification; (4) Review elFinder 2.0 and jQuery File Upload configurations for security settings; (5) Apply principle of least privilege to web server process; (6) Monitor upload directories and access logs for suspicious .php file uploads; (7) Implement Web Application Firewall (WAF) rules to block PHP file uploads or .php execution in upload directories; (8) Conduct comprehensive audit of all file upload functionality within BuilderEngine for similar validation gaps.
Priority Score
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2025-21028