CVE-2026-15300: CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') in ninjew GEO my WP
The GEO my WP plugin for WordPress was vulnerable to SQL Injection via the 'distance', 'lat', and 'lng' parameters in versions up to, and including, 4.5.4. The values were read from $_SERVER['QUERY_STRING'] via parse_str() (bypassing wp_magic_quotes, which does not cover $_SERVER), then passed through bare esc_sql() before being interpolated into unquoted numeric positions in the proximity-search query (HAVING/SELECT clause distance math, BETWEEN bounding-box pre-filter) built by gmw_locations_query() in plugins/posts-locator/includes/class-gmw-wp-query.php. Because esc_sql() only escapes string delimiters and these positions are numeric, payloads such as `1 OR SLEEP(3)` survived sanitization. Fixed in 4.5.5 by adding an upstream is_numeric() guard that short-circuits the WHERE clause to `AND 1 = 0` when either coordinate is non-numeric, and by replacing the three esc_sql() calls with (float) casts.
AI Analysis
Technical Summary
CVE-2026-15300 is a SQL Injection vulnerability in the GEO my WP plugin for WordPress affecting versions up to 4.5.4. The plugin reads 'distance', 'lat', and 'lng' parameters from $_SERVER['QUERY_STRING'] using parse_str(), bypassing WordPress's wp_magic_quotes protection. These parameters are then passed through esc_sql() but used in unquoted numeric contexts in SQL queries, which esc_sql() does not properly sanitize. This allows injection of payloads like '1 OR SLEEP(3)'. The issue is fixed in version 4.5.5 by adding an upstream is_numeric() check that disables the query if coordinates are non-numeric and by casting inputs to float instead of relying on esc_sql().
Potential Impact
An attacker can exploit this vulnerability to perform SQL Injection attacks, potentially causing denial of service via query delays or other impacts on database integrity and availability. The CVSS score of 9.1 indicates critical severity with high impact on integrity and availability, and no privileges or user interaction required for exploitation.
Mitigation Recommendations
A fix is available in GEO my WP version 4.5.5. Users should upgrade to version 4.5.5 or later to remediate this vulnerability. The fix includes input validation to ensure coordinates are numeric and proper casting to float, preventing SQL Injection. No other mitigation is indicated.
CVE-2026-15300: CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') in ninjew GEO my WP
Description
The GEO my WP plugin for WordPress was vulnerable to SQL Injection via the 'distance', 'lat', and 'lng' parameters in versions up to, and including, 4.5.4. The values were read from $_SERVER['QUERY_STRING'] via parse_str() (bypassing wp_magic_quotes, which does not cover $_SERVER), then passed through bare esc_sql() before being interpolated into unquoted numeric positions in the proximity-search query (HAVING/SELECT clause distance math, BETWEEN bounding-box pre-filter) built by gmw_locations_query() in plugins/posts-locator/includes/class-gmw-wp-query.php. Because esc_sql() only escapes string delimiters and these positions are numeric, payloads such as `1 OR SLEEP(3)` survived sanitization. Fixed in 4.5.5 by adding an upstream is_numeric() guard that short-circuits the WHERE clause to `AND 1 = 0` when either coordinate is non-numeric, and by replacing the three esc_sql() calls with (float) casts.
CVSS v3.1
Score 9.1critical
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-15300 is a SQL Injection vulnerability in the GEO my WP plugin for WordPress affecting versions up to 4.5.4. The plugin reads 'distance', 'lat', and 'lng' parameters from $_SERVER['QUERY_STRING'] using parse_str(), bypassing WordPress's wp_magic_quotes protection. These parameters are then passed through esc_sql() but used in unquoted numeric contexts in SQL queries, which esc_sql() does not properly sanitize. This allows injection of payloads like '1 OR SLEEP(3)'. The issue is fixed in version 4.5.5 by adding an upstream is_numeric() check that disables the query if coordinates are non-numeric and by casting inputs to float instead of relying on esc_sql().
Potential Impact
An attacker can exploit this vulnerability to perform SQL Injection attacks, potentially causing denial of service via query delays or other impacts on database integrity and availability. The CVSS score of 9.1 indicates critical severity with high impact on integrity and availability, and no privileges or user interaction required for exploitation.
Mitigation Recommendations
A fix is available in GEO my WP version 4.5.5. Users should upgrade to version 4.5.5 or later to remediate this vulnerability. The fix includes input validation to ensure coordinates are numeric and proper casting to float, preventing SQL Injection. No other mitigation is indicated.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Wordfence
- Date Reserved
- 2026-07-09T15:54:32.605Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a50809468715ace430636e6
Added to database: 07/10/2026, 05:18:12 UTC
Last enriched: 07/17/2026, 09:47:46 UTC
Last updated: 08/22/2026, 22:52:11 UTC
Views: 109
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.