Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-16595

CVE-2026-16595: WP Directory Kit Information Disclosure

CVE-2026-16595 is an information disclosure vulnerability in WP Directory Kit WordPress plugin that allows authenticated users to access sensitive data. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-16595 Overview

CVE-2026-16595 is a broken access control vulnerability in the WP Directory Kit WordPress plugin before version 1.5.5. The plugin fails to perform authorization and nonce checks on one of its authenticated AJAX actions. Any authenticated user, including low-privilege Subscribers, can invoke the action to disclose the site's user list and unpublished listings owned by other users. The flaw maps to CWE-200: Exposure of Sensitive Information to an Unauthorized Actor. Exploitation requires only a valid low-privilege account, which is trivial on sites that permit open user registration.

Critical Impact

Authenticated Subscriber-level users can enumerate all site users and access unpublished listings belonging to other accounts.

Affected Products

  • WP Directory Kit WordPress plugin versions prior to 1.5.5

Discovery Timeline

  • 2026-08-08 - CVE-2026-16595 published to NVD
  • 2026-08-10 - Last updated in NVD database

Technical Details for CVE-2026-16595

Vulnerability Analysis

WP Directory Kit registers an AJAX action accessible through the wp-admin/admin-ajax.php endpoint. WordPress AJAX actions prefixed with wp_ajax_ are available to any user with a valid session cookie. The vulnerable action does not verify the caller's capability with current_user_can() and does not validate a request nonce with check_ajax_referer(). As a result, the handler treats every authenticated request as legitimate regardless of role.

When invoked, the action returns two sensitive datasets. The first is the site's user list, which normally requires the list_users capability held only by Administrators. The second is unpublished directory listings, including drafts and pending entries owned by other users. Both datasets bypass the standard WordPress visibility rules.

The issue affects confidentiality only; integrity and availability are not directly impacted. Sites that allow open registration face the highest exposure because attackers can self-provision the Subscriber accounts needed to reach the endpoint.

Root Cause

The root cause is missing authorization enforcement on a privileged AJAX handler. The plugin developer registered the action under the authenticated hook without adding capability checks or nonce validation. This pattern is a common WordPress plugin defect where developers assume authentication implies authorization.

Attack Vector

An attacker with any authenticated account sends a crafted POST request to admin-ajax.php specifying the vulnerable action name. The server responds with JSON containing the user list and unpublished listings. No user interaction or elevated privileges are required beyond initial authentication. Refer to the WPScan Vulnerability Report for exploitation specifics.

Detection Methods for CVE-2026-16595

Indicators of Compromise

  • Anomalous POST requests to /wp-admin/admin-ajax.php originating from Subscriber-level accounts.
  • Unusually large JSON responses returned by admin-ajax.php to non-administrative users.
  • Spikes in new user registrations followed shortly by AJAX activity from those accounts.

Detection Strategies

  • Inspect web server access logs for repeated admin-ajax.php calls referencing WP Directory Kit action names from low-privilege sessions.
  • Correlate WordPress authentication events with AJAX endpoint usage to identify Subscribers accessing administrator-scoped data.
  • Deploy WordPress security plugins or a web application firewall (WAF) rule set to log calls to the affected action.

Monitoring Recommendations

  • Enable verbose logging on admin-ajax.php and forward logs to a centralized SIEM for correlation.
  • Alert on any account transitioning from registration to admin-ajax.php invocation within a short time window.
  • Monitor for exfiltration patterns such as sequential enumeration of user IDs or listing IDs.

How to Mitigate CVE-2026-16595

Immediate Actions Required

  • Upgrade WP Directory Kit to version 1.5.5 or later on all affected WordPress sites.
  • Audit existing user accounts and remove unrecognized Subscriber registrations created before the patch.
  • Review recent admin-ajax.php traffic for signs of data enumeration by low-privilege users.

Patch Information

The vendor addressed CVE-2026-16595 in WP Directory Kit version 1.5.5 by adding authorization and nonce checks to the affected AJAX action. Details are documented in the WPScan Vulnerability Report.

Workarounds

  • Disable open user registration by unchecking Anyone can register under Settings > General until the plugin is updated.
  • Deploy a WAF rule to block requests to admin-ajax.php targeting the vulnerable action from non-administrator sessions.
  • Temporarily deactivate the WP Directory Kit plugin if upgrading is not immediately possible.
bash
# Example WAF rule to block the vulnerable AJAX action for non-admins
# Adjust action name per WPScan advisory before deployment
SecRule REQUEST_URI "@contains /wp-admin/admin-ajax.php" \
    "chain,deny,status:403,id:1026016595,msg:'Block WP Directory Kit CVE-2026-16595'"
    SecRule ARGS:action "@rx ^wpdk_[a-z_]+$"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.