Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
4DescriptionCVE.org
The Ninja Forms - File Uploads plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the 'NF_FU_AJAX_Controllers_Uploads::handle_upload' function in all versions up to, and including, 3.3.26. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible. Note: The vulnerability was partially patched in version 3.3.25 and fully patched in version 3.3.27.
AnalysisAI
Unauthenticated arbitrary file upload in Ninja Forms - File Uploads plugin for WordPress (versions ≤3.3.26) enables remote code execution through missing file type validation in the upload handler. Attackers can upload malicious PHP files without authentication, achieving complete server compromise. CVSS 9.8 (Critical) with CVSS:3.1/AV:N/AC:L/PR:N/UI:N indicates network-based exploitation requiring no privileges or user interaction. Fully patched in version 3.3.27 following a partial fix in 3.3.25. No public exploit identified at time of analysis, though the vulnerability class (CWE-434: Unrestricted Upload of File with Dangerous Type) is well-understood and readily exploitable.
Technical ContextAI
The vulnerability resides in the NF_FU_AJAX_Controllers_Uploads::handle_upload function within the Ninja Forms - File Uploads extension for WordPress (CPE: cpe:2.3:a:saturdaydrive:ninja_forms_-_file_uploads). This AJAX-accessible upload handler fails to implement proper file type validation, allowing arbitrary file extensions to bypass security controls. The root cause is CWE-434 (Unrestricted Upload of File with Dangerous Type), a critical flaw where applications accept files without verifying extension, MIME type, or content. In WordPress environments, successful upload of executable PHP files to web-accessible directories (typically wp-content/uploads/) allows attackers to establish webshells, execute arbitrary code with web server privileges, and pivot to full site compromise. The two-stage patching (partial in 3.3.25, complete in 3.3.27) suggests the initial remediation attempt was insufficient, likely addressing surface-level validation while missing edge cases or alternative upload vectors.
RemediationAI
Immediately upgrade to Ninja Forms - File Uploads version 3.3.27, which provides complete remediation of the arbitrary file upload vulnerability. Version 3.3.25 contains only a partial fix and remains exploitable through alternative attack vectors-do not rely on this intermediate release for security. Organizations unable to immediately patch should disable the Ninja Forms - File Uploads plugin entirely until upgrade is possible, as no effective workarounds exist for unauthenticated file upload vulnerabilities. After upgrading, conduct forensic review of wp-content/uploads/ and other web-accessible directories for suspicious PHP files, webshells, or unexpected executables uploaded during the vulnerability window. Implement web application firewall (WAF) rules blocking executable file uploads (.php, .phtml, .php5, .phar) as defense-in-depth. Review web server access logs for POST requests to /wp-admin/admin-ajax.php with action parameters related to Ninja Forms uploads to identify potential exploitation attempts. Consult vendor security advisory at https://ninjaforms.com/extensions/file-uploads/ for additional guidance and release notes. Configure file upload directories with noexec permissions and disable PHP execution via .htaccess or web server configuration to limit damage from future upload vulnerabilities.
More in Ninja Forms File Uploads
View allThe Ninja Forms - File Uploads Extension WordPress plugin is vulnerable to arbitrary file uploads due to insufficient in
Path Traversal and Unrestricted File Upload exists in the Ninja Forms plugin before 3.0.23 for WordPress (when the Uploa
Arbitrary file read in the Ninja Forms - File Uploads WordPress add-on (versions ≤ 3.3.29) lets unauthenticated remote a
The Ninja Forms - File Uploads Extension WordPress plugin is vulnerable to reflected cross-site scripting due to missing
The Ninja Forms - File Uploads plugin for WordPress is vulnerable to Stored Cross-Site Scripting via an uploaded file (e
Authorization bypass in the Ninja Forms - File Uploads WordPress plugin (all versions through 3.3.29) allows unauthentic
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-19572
GHSA-v8wq-rjpf-669f