CVE-2026-126537 Path traversal in Ninja Forms - File Uploads

Critical 9.1 Published Updated

Unauthenticated attackers can delete arbitrary server files, such as wp-config.php, enabling WordPress site takeover; sites using Ninja Forms File Uploads should care.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Harmful if only installed
No
Needs a specific call
No
Fix
None listed

What is CVE-2026-126537?

CVE-2026-126537 is a critical path traversal vulnerability in SaturdayDrive Ninja Forms - File Uploads, published on 11 Nov 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-22

Which versions are affected by CVE-2026-126537?

An affected version is exposed as installed. No special setting or call is needed.

How do I fix CVE-2026-126537?

No fix has been published for CVE-2026-126537 yet. Limit exposure of the affected software until one is available.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2026-126537 being exploited?

There is no known exploitation of CVE-2026-126537 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as GHSA-rfc5-f6j6-9jgj.

Is CVE-2026-126537 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free