CVE-2026-13369
Received Received - Intake

Arbitrary File Read in Ninja Forms File Uploads Plugin

Vulnerability report for CVE-2026-13369, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-02

Last updated on: 2026-07-02

Assigner: Wordfence

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-02
Last Modified
2026-07-02
Generated
2026-07-02
AI Q&A
2026-07-02
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ninja_forms file_uploads to 3.3.29 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

The Ninja Forms - File Uploads plugin for WordPress has a vulnerability that allows unauthenticated attackers to read arbitrary files on the server. This happens because the attach_files() function accepts a raw attacker-controlled 'files' array when a specific saveProgress flag is set by the client. This bypasses all upload validation, path normalization, and database record creation steps, allowing an attacker to supply a file_path that is passed to wp_mail() as an email attachment after only a file_exists() check.

Impact Analysis

This vulnerability can impact you by allowing attackers to read any file on your server without authentication. This could lead to exposure of sensitive information stored on the server, such as configuration files, user data, or other confidential files, potentially compromising the security and privacy of your website and its users.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-13369. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart