Radar sectionsDatabase
Check my site
WordPress plugin

Ninja Forms — File Uploads <= 3.3.36 - Unauthenticated Arbitrary File Deletion via 'files[].data.file_path' Parameter via 'extra.saveProgress'

CVE-2026-126537Published · Updated

Action summary

Affected: ≤3.3.36Update to 3.3.37 or newer

All remediation steps
Severity
Critical9.1
CVSS
9.1
CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
What does this vector mean?
AV:N Attack vector
Network
AC:L Attack complexity
Low
PR:N Privileges required
None
UI:N User interaction
None
S:U Scope
Unchanged
C:N Confidentiality
None
I:H Integrity
High
A:H Availability
High
Weakness
CWE-22 Path Traversal
Required access
No account needed
Exploit prediction (EPSS)
No score
CISA KEV
Not listed

Am I affected?

Ninja Forms - File Uploads ninja-forms-uploads

  1. Affected≤ 3.3.36
  2. Patched in3.3.37

Update to 3.3.37 or newer.

You are affected if you run ≤ 3.3.36. Version 3.3.37 and later are not affected by this issue.

  • Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under Ninja Forms - File Uploads.
  • No admin access? Run a passive check of your site. It reads public files only.
  • No account is needed to exploit this. Treat any exposed site on an affected version as at risk.

What to do

  1. Update to version 3.3.37, or a newer patched version
  2. Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
  3. Watch Ninja Forms - File Uploads to get an email when the next vulnerability is published.

Advisory

Source description from Wordfence Intelligence, credited to daroo.

The Ninja Forms - File Uploads add-on for WordPress is vulnerable to Arbitrary File Deletion (and arbitrary file read via S3/Dropbox/Google Drive exfiltration) in versions up to, and including, 3.3.36. The flaw spans NF_FU_Fields_Upload::process() in includes/fields/upload.php — which returns early (leaving the client-supplied files[] intact) whenever a public submission carries a nonempty extra.saveProgress — and NF_FU_External_Abstracts_Service::process_upload() in includes/external/abstracts/service.php, whose authoritative-path reload only fires when the client sends upload_id. By omitting upload_id, an attacker's data[file_path] survives into the Background Upload queue and is used by both upload_file_to_s3() (as SourceFile) and the maybe_delete_server_file() unlink() call in includes/external/abstracts/backgroundupload.php, with no canonicalization or upload-directory containment check (the plugin's own is_path_within_upload_dir() helper is only applied on admin paths). This makes it possible for unauthenticated attackers to delete arbitrary files on the affected site's server which may make remote code execution possible — specifically, deleting wp-config.php forces WordPress into its setup screen, enabling full site takeover.

Exploits & references

Proof-of-concept & detection

No public proof-of-concept or detection template is known for this vulnerability.

Advisories & patches

More in Ninja Forms - File Uploads

All 11
More vulnerabilities in Ninja Forms - File Uploads
SeverityVulnerabilityCVEPublished
High8.1File Uploads <= 3.3.34 - Unauthenticated Arbitrary File Upload
≤3.3.34Update to 3.3.35
CVE-2026-92820
High7.2File Uploads <= 3.3.26 - Unauthenticated Stored Cross-Site Scripting
≤3.3.26No patch available
CVE-2026-81773
Medium5.3File Uploads <= 3.3.29 - Missing Authorization to Unauthenticated Log Disclosure and Deletion via debug-log/delete-all and debug-log/get-all REST Endpoints
≤3.3.29Update to 3.3.30
CVE-2026-12557
High7.5File Uploads <= 3.3.29 - Unauthenticated Arbitrary File Read via File Upload Field 'files[].data.file_path' Parameter
≤3.3.29Update to 3.3.30
CVE-2026-13369
Medium4.3Cross-Site Request Forgery
≤3.3.26No patch available
CVE-2026-57784

Same weakness (Path Traversal)

All Path Traversal
Other Path Traversal vulnerabilities
SeverityVulnerabilityCVEPublished
High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent HeaderCVE-2026-120688
Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form SubmissionCVE-2026-125055
Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' ParameterCVE-2026-119077
Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce≤5.127.0Update to 5.128.0
CVE-2026-121518

Timeline

  1. CVE published

    Severity critical, CVSS 9.1

  2. Record last updated

Sources & licenses

Wordfence record
Vulnerability data
Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
CVE® identifiers
[object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
CVSS / CWE
National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
VulnCrest content
Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.

How we use these sources

Search VulnCrest Radar

Are you sure?