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

CVE-2026-16590: WP Directory Kit Information Disclosure

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

Published:

CVE-2026-16590 Overview

CVE-2026-16590 is a broken access control vulnerability in the WP Directory Kit WordPress plugin before version 1.5.5. The plugin fails to perform authorization or nonce checks on one of its authenticated AJAX actions. Any authenticated user, including low-privilege Subscribers, can invoke the action to retrieve stored contact messages and associated user data belonging to other users. The flaw is categorized under [CWE-200] Information Exposure and affects confidentiality of directory records collected through the plugin.

Critical Impact

Authenticated Subscriber-level users can exfiltrate private contact messages and personal data of other WP Directory Kit users through an unprotected AJAX endpoint.

Affected Products

  • WP Directory Kit WordPress plugin versions prior to 1.5.5
  • WordPress sites exposing the plugin's authenticated AJAX action to any registered user role
  • Deployments allowing open user registration where Subscriber accounts can be created freely

Discovery Timeline

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

Technical Details for CVE-2026-16590

Vulnerability Analysis

The vulnerability resides in an authenticated AJAX action registered by the WP Directory Kit plugin. WordPress AJAX handlers registered under the wp_ajax_{action} hook are accessible to any logged-in user regardless of role. Secure implementations must perform two additional checks: a capability check using current_user_can() and a nonce validation using check_ajax_referer(). The affected handler performs neither check before returning stored records.

As a result, the endpoint returns contact submissions and associated user data to any authenticated caller. An attacker holding a Subscriber account, the lowest default WordPress role, can enumerate stored records belonging to other users. This exposes private communications collected through the directory listing feature. The issue maps to [CWE-200] Exposure of Sensitive Information to an Unauthorized Actor.

Root Cause

The root cause is the absence of authorization and request-integrity controls on a privileged AJAX endpoint. The plugin conflates authentication with authorization, treating any logged-in session as sufficient to read arbitrary directory data. Missing nonce validation also removes protection against cross-site request forgery through authenticated victim sessions.

Attack Vector

Exploitation requires network access to the WordPress site and valid credentials for any user role. The attacker sends a crafted POST request to wp-admin/admin-ajax.php specifying the vulnerable action name. The plugin executes the handler and returns other users' contact messages and profile fields in the response body. No user interaction from the victim is required. See the WPScan Vulnerability Advisory for further technical detail.

Detection Methods for CVE-2026-16590

Indicators of Compromise

  • Unexpected POST requests to /wp-admin/admin-ajax.php originating from Subscriber-level accounts
  • High volumes of AJAX responses containing multiple contact records returned to a single authenticated session
  • Newly registered Subscriber accounts issuing directory-related AJAX requests shortly after account creation

Detection Strategies

  • Review WordPress access logs for admin-ajax.php requests referencing WP Directory Kit action names issued by non-administrative users
  • Correlate authentication events with AJAX request patterns to identify low-privilege accounts accessing directory data
  • Enable WordPress debug logging or a security plugin to record AJAX action invocations along with user role context

Monitoring Recommendations

  • Monitor plugin version inventory across WordPress deployments and flag installations below 1.5.5
  • Alert on bulk data responses from admin-ajax.php exceeding baseline size for the affected endpoints
  • Track new user registrations and correlate with subsequent access to plugin AJAX handlers

How to Mitigate CVE-2026-16590

Immediate Actions Required

  • Update the WP Directory Kit plugin to version 1.5.5 or later on all WordPress instances
  • Audit existing Subscriber and low-privilege accounts and remove unrecognized or dormant users
  • Rotate any credentials or contact records considered sensitive if unauthorized access is suspected

Patch Information

The vendor addressed the issue in WP Directory Kit version 1.5.5 by adding authorization and nonce checks to the affected AJAX action. Administrators should apply the update through the WordPress plugin manager or by replacing the plugin files with the patched release. Refer to the WPScan Vulnerability Advisory for advisory details.

Workarounds

  • Disable the WP Directory Kit plugin until the patched version can be deployed
  • Restrict new user registration by setting the WordPress users_can_register option to 0 to limit attacker access
  • Deploy a web application firewall rule to block requests to the vulnerable AJAX action from non-administrative sessions
bash
# Configuration example: disable open registration in wp-config.php or via WP-CLI
wp option update users_can_register 0
wp option update default_role subscriber
wp plugin update wp-directory-kit --version=1.5.5

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.