Ninja Forms - File Uploads <= 3.3.29 - Unauthenticated Arbitrary File Read via File Upload Field 'files[].data.file_path' Parameter
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.
Quick answer
Ninja Forms - File Uploads should be reviewed and updated if it matches the affected versions. The recommended fix is to apply the vendor-supported patched version or the mitigation steps below, then retest the public website with Fixnx.
Who is affected
Affected versions
- *-3.3.29
Fixed versions
- 3.3.30
How to fix it
Ninja Forms - File Uploads is affected by CVE-2026-13369, a unsafe file upload or file handling issue in versions *-3.3.29. Prioritize exposed production sites and users with elevated permissions first. The recommended remediation is to update to version 3.3.30 or a newer vendor-supported patched release. If immediate patching is not possible, reduce exposure, restrict access to the vulnerable workflow, and monitor logs until the vendor-supported fix is in place.
- Inventory every WordPress site that uses Ninja Forms - File Uploads, including production, staging, multisite, customer, and managed environments.
- Confirm the installed plugin or theme version and compare it with versions *-3.3.29 from the linked advisory.
- Apply the remediation: update to version 3.3.30 or a newer vendor-supported patched release.
- If the update cannot be applied immediately, disable Ninja Forms - File Uploads, remove unused roles that can reach the vulnerable feature, and restrict the affected admin, REST, shortcode, upload, booking, ecommerce, review, or content workflow.
- Review application, web server, security plugin, WAF, authentication, and administrator activity logs for attempts related to CVE-2026-13369.
- Rotate administrator sessions, API keys, webhook secrets, database credentials, and integration tokens if logs or file/content review suggest compromise.
- Clear application, object, page, CDN, and browser caches after remediation so vulnerable assets, stored payloads, or stale responses are not served.
Scan now. Google sign-in is only needed to unlock fix guidance.
Verify the fix
- Confirm Ninja Forms - File Uploads is no longer running versions *-3.3.29 and record the patched or mitigated version in the remediation ticket.
- Verify unauthenticated, subscriber, contributor, author, editor, shop manager, booking, vendor, or custom-role users can no longer trigger the affected action.
- Review logs before and after the fix for exploitation attempts, unexpected content changes, suspicious admin actions, or database/file access.
- Rerun a Fixnx scan and any relevant plugin, WAF, or manual regression checks to confirm public exposure is reduced.
- Document the advisory link, affected assets, remediation action, verification evidence, and any cleanup or credential rotation performed.
Related categories
Trusted references
FAQ
What is affected by CVE-2026-13369?
Ninja Forms - File Uploads versions listed as affected should be reviewed: *-3.3.29.
What should I fix first?
Start with internet-facing sites, admin panels, login flows, plugins, themes, modules, packages, and systems that process user-controlled input or sensitive data.
How do I confirm the fix worked?
Apply the patched version or mitigation, clear caches where relevant, retest the affected workflow, and run a new Fixnx scan to verify public website exposure signals.
How are Fixnx security risk categories chosen?
Fixnx keeps one canonical risk page and assigns only broad, relevant categories such as ecosystem, technology area, or vulnerability class.
