What the vulnerability does
01Description
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.
Explanation of Vulnerability in Simple Terms
02Summary
Ninja Forms File Uploads versions 3.3.29 and earlier contain a path traversal vulnerability in file upload handling. An attacker can read arbitrary files from the server by crafting malicious upload requests. No authentication is required. This affects any WordPress site using the vulnerable plugin version.
What an attacker can do
03Attacker Capabilities
Read arbitrary files from the server, including configuration files and other sensitive data.
Potential impact on your site
04Site Impact
Attackers can access sensitive files like wp-config.php, database backups, and private user data without logging in.
Conditions required to exploit
05Prerequisites
Network access to the site; no authentication or user interaction required.
Key dates
06Disclosure timeline
July 2, 2026
CVE published