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 vulnerability in the Ninja Forms – File Uploads plugin allows an attacker to read any file that the web server can access. The flaw arises when the get_files_for_attachment() routine accepts a client‑supplied 'files' array after the process() method exits early because a saveProgress flag was sent. The attacker‑supplied file_path value bypasses all upload validation and path normalization, and is later passed to wp_mail() as an attachment after only a file_exists() check. This results in an uncontrolled confidentiality breach (CWE‑22) without impacting the integrity or availability of the system.

Affected Systems

Any WordPress site that has the SaturdayDrive Ninja Forms – File Uploads plugin version 3.3.29 or earlier is affected. The vulnerability is independent of the WordPress core or PHP version and can be exploited on any server hosting the plugin.

Risk and Exploitability

The CVSS base score of 7.5 classifies the issue as high severity. The EPSS score of <1% indicates that 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 accessible to the web server.

Generated by OpenCVE AI on July 22, 2026 at 13:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Ninja Forms – File Uploads plugin to version 3.3.30 or newer, which restores proper validation and path handling.
  • If an upgrade is not yet 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 July 22, 2026 at 13:49 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

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-22T14:00:04Z

Weaknesses
  • CWE-22

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