Description
The GeoDirectory plugin for WordPress is vulnerable to SQL Injection via the stored latitude/longitude coordinates of a listing in versions up to, and including, 2.8.186. This is due to insufficient escaping and the absence of numeric validation on coordinate values when a listing is saved, combined with the direct string interpolation of those values into a distance sub-expression in geodir_gps_query_part() that is later executed by the public wp_ajax_nopriv_geodir_widget_listings handler when a caller supplies set_post=<pending-listing-id> and sort_by=distance_asc. 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.
References7
- plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.185/in…
- plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.185/in…
- plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.185/in…
- plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.185/in…
- plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.185/in…
- plugins.trac.wordpress.org/changeset?reponame=&old=3723536%40ge…
- www.wordfence.com/threat-intel/vulnerabilities/id/54f449f4-0a22…
Metrics
- CVSS 3.1
-
7.5
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - EPSS — exploit probability
- 0% percentile: 32 · as of 10 November 2026
- CWE
- CWE-89
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.