CVE-2026-18352
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk49th percentile - higher than 49% of all known CVEs
Summary
The User Access Manager plugin for WordPress is vulnerable to Directory Traversal in all versions up to and including 2.3.15 via the 'uamgetfile' parameter. Unauthenticated attackers can read the contents of arbitrary files on the server, which can contain sensitive information. This occurs because when attachment_url_to_postid() returns 0 for a traversal path, the plugin falls back to the global post set by a valid ?attachment_id parameter, causing the access check to pass against a legitimate public attachment while the file streamed is the attacker-chosen path.
Risk Assessment
Attackers can access sensitive data such as configuration files, passwords, or API keys, potentially leading to further privilege escalation and compromise of the entire WordPress installation.
Recommendation
Update the User Access Manager plugin to the latest version that includes a fix for the directory traversal vulnerability.
Other vulnerabilities in User Access Manager
See all- CVE-2026-18035Medium
The User Access Manager WordPress plugin before 2.3.15 does not apply its access restrictions to REST API requests, allowing unauthenticated attackers to read the content of posts, pages and custom post types that have been restricted to specific user groups.
- CVE-2026-15281Medium
The User Access Manager plugin for WordPress up to version 2.3.12 is vulnerable to Second-Order SQL Injection via the 'id' parameter in the AJAX action wp_ajax_save-attachment-compat. Insufficient validation of the objectId value and subsequent unparameterized use in SQL queries allow authenticated attackers with subscriber-level access to inject additional SQL queries and extract sensitive data from the database.
Original NVD description (English source)
The User Access Manager plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 2.3.15 via the 'uamgetfile' parameter parameter. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information. This is possible because when attachment_url_to_postid() returns 0 for a traversal path, the plugin falls back to the global post set by a valid ?attachment_id parameter supplied by the attacker, causing the access check to pass against a legitimate public attachment while the file streamed is the attacker-chosen path.

