Description
The Ninja Forms - File Uploads plugin for WordPress is vulnerable to Arbitrary File Read via the attach_files() function in versions up to, and including, 3.3.29. This is due to the get_files_for_attachment() function accepting a raw attacker-controlled 'files' array when the process() method returns early due to a client-supplied saveProgress flag, bypassing all upload validation, path normalization, and database record creation steps, and allowing an attacker-supplied file_path value to reach wp_mail() as an email attachment with only a file_exists() check. This makes it possible for unauthenticated attackers to read arbitrary files on the affected site's server.
Published: 2026-07-02
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Ninja Forms – File Uploads plugin allows an attacker to read any file that the web server has access to. The flaw exists in the attach_files() and get_files_for_attachment() functions, where a raw client‑supplied 'files' array is accepted after the process() method exits early due to a saveProgress flag. This bypasses all upload validation, path normalization, and database record creation, letting an attacker’s file_path value reach wp_mail() as an email attachment with only a file_exists() check, resulting in uncontrolled confidentiality disclosure (CWE‑22).

Affected Systems

Any WordPress site running SaturdayDrive’s Ninja Forms – File Uploads plugin at version 3.3.29 or earlier is impacted. The vulnerability is independent of the WordPress core or PHP version and can be exploited on any server where the plugin is installed.

Risk and Exploitability

The CVSS base score of 7.5 indicates high severity. The EPSS score of <1% suggests exploitation is currently unlikely, and the vulnerability is not listed in the CISA KEV catalog. An attacker can trigger the flaw by sending a crafted POST request to the upload endpoint with the saveProgress flag, resulting in arbitrary file read for any file readable by the web server.

Generated by OpenCVE AI on August 1, 2026 at 21:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Ninja Forms – File Uploads plugin to the latest available version, which restores proper validation and path handling.
  • If an upgrade is not possible, modify the plugin to reject any 'files' payload when a saveProgress flag is detected, preventing the bypass of upload validation.
  • Restrict the file system permissions granted to the web server process so it cannot read files outside the intended upload directory, limiting any potential exposure.

Generated by OpenCVE AI on August 1, 2026 at 21:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 04 Jul 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 02 Jul 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Saturdaydrive
Saturdaydrive ninja Forms - File Uploads
Wordpress
Wordpress wordpress
Vendors & Products Saturdaydrive
Saturdaydrive ninja Forms - File Uploads
Wordpress
Wordpress wordpress

Thu, 02 Jul 2026 09:45:00 +0000

Type Values Removed Values Added
Description The Ninja Forms - File Uploads plugin for WordPress is vulnerable to Arbitrary File Read via the attach_files() function in versions up to, and including, 3.3.29. This is due to the get_files_for_attachment() function accepting a raw attacker-controlled 'files' array when the process() method returns early due to a client-supplied saveProgress flag, bypassing all upload validation, path normalization, and database record creation steps, and allowing an attacker-supplied file_path value to reach wp_mail() as an email attachment with only a file_exists() check. This makes it possible for unauthenticated attackers to read arbitrary files on the affected site's server.
Title Ninja Forms - File Uploads <= 3.3.29 - Unauthenticated Arbitrary File Read via File Upload Field 'files[].data.file_path' Parameter
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Saturdaydrive Ninja Forms - File Uploads
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-07-02T12:18:54.246Z

Reserved: 2026-06-25T19:04:37.969Z

Link: CVE-2026-13369

cve-icon Vulnrichment

Updated: 2026-07-02T12:18:49.904Z

cve-icon NVD

Status : Deferred

Published: 2026-07-02T10:16:28.130

Modified: 2026-07-02T13:58:56.870

Link: CVE-2026-13369

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T22:00:14Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')