WP Directory Kit <= 1.5.9 - Authenticated (Subscriber+) SQL Injection via 'display_name' Profile Field (Second-Order)
What fixes it
No source in this snapshot names a fixed version.
Description
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.
Text from CVE List
Affected versions 1
- WP Directory Kitaffected: all versions through 1.5.9CVE List
References 4
- wordfence.com/threat-intel/vulnerabilities/id/87aa7d7e-f6f4-42c1-9b15-2fcab6750cd3?source=cveReferencevia CVE List
- plugins.trac.wordpress.org/browser/wpdirectorykit/trunk/vendor/Winter_MVC/core/database.php#L553Referencevia CVE List
- plugins.trac.wordpress.org/browser/wpdirectorykit/trunk/extensions/wdk-cached-user-editor.php#L52Referencevia CVE List
- plugins.trac.wordpress.org/browser/wpdirectorykit/trunk/extensions/wdk-cached-user-editor.php#L21Referencevia CVE List