---
id: CVE-2026-96653
title: >-
  The WP Directory Kit plugin for WordPress is vulnerable to time-based SQL
  Injection via 'display_name' Profile Field (Second-Order) in all versions up
  to, and including, 1.5.9 due to insufficient escaping on the user supplied
  parameter a…
summary: >-
  The WP Directory Kit plugin for WordPress is vulnerable to time-based SQL
  Injection via 'display_name' Profile Field (Second-Order) in all versions up
  to, and including, 1.5.9 due to insufficient escaping on the user supplied
  parameter a…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-89
published: '2026-10-10'
updated: '2026-10-10'
sourceUpdated: '2026-10-10T08:17:07.963'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-96653'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdirectorykit/trunk/extensions/wdk-cached-user-editor.php#L21
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdirectorykit/trunk/extensions/wdk-cached-user-editor.php#L52
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdirectorykit/trunk/vendor/Winter_MVC/core/database.php#L553
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/87aa7d7e-f6f4-42c1-9b15-2fcab6750cd3?source=cve
    label: security@wordfence.com
tags:
  - nvd
ingestedAt: '2026-10-10T08:27:37.796Z'
---

## Overview

The WP Directory Kit plugin for WordPress is vulnerable to time-based SQL Injection via 'display_name' Profile Field (Second-Order) in all versions up to, and including, 1.5.9 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This is a second-order injection: a Subscriber stores a display_name containing a single quote via their own profile, which WordPress preserves verbatim; the payload is then triggered when WdkCachedUserEditor::update_listings_user_editor() re-reads that stored value and passes it unsanitized to the SQL sink.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
