Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Primary rating from Vendor (Wordfence) · only source for this CVE.
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The GEO my WP plugin for WordPress is vulnerable to SQL Injection via the 'swlatlng' and 'nelatlng' parameters in all versions up to, and including, 4.5.5 The parameters are read from $_SERVER['QUERY_STRING'] via parse_str() (bypassing WordPress's wp_magic_quotes protection, which only covers $_POST/$_GET/$_COOKIE/$_REQUEST), then each is split on ',' via explode() and the resulting fragments are interpolated directly into a SQL BETWEEN clause in gmw_get_locations_within_boundaries_sql() without is_numeric() validation, (float) casting, esc_sql(), or $wpdb->prepare(). This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. Exploitation requires the site to host the Posts Locator search-results shortcode ([gmw form="results" form_id=N]) on a public page and to have at least one published post with an associated gmw_location row.
AnalysisAI
SQL injection in the GEO my WP WordPress plugin (versions ≤4.5.5) allows unauthenticated remote attackers to append arbitrary SQL via the 'swlatlng' and 'nelatlng' query-string parameters, enabling extraction of sensitive database contents. The flaw stems from reading parameters directly from $_SERVER['QUERY_STRING'] with parse_str(), bypassing WordPress's wp_magic_quotes sanitization. No public exploit identified at time of analysis, and the vulnerability is not currently listed in CISA KEV, but exploitation requires only a public page hosting the Posts Locator results shortcode.
Technical ContextAI
GEO my WP is a geolocation/proximity-search plugin for WordPress published by 'ninjew' (CPE cpe:2.3:a:ninjew:geo_my_wp). The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command). Specifically, gmw_get_locations_within_boundaries_sql() builds a SQL BETWEEN clause from latitude/longitude bounding-box parameters obtained by parsing the raw $_SERVER['QUERY_STRING'] via PHP's parse_str(). Because WordPress's wp_magic_quotes only sanitizes the $_POST, $_GET, $_COOKIE, and $_REQUEST superglobals, values pulled from $_SERVER bypass that protection. The 'swlatlng' and 'nelatlng' strings are split on commas with explode() and interpolated directly into the SQL string with no is_numeric() check, no (float) cast, no esc_sql(), and no $wpdb->prepare() parameterization, so an attacker can break out of the numeric context.
RemediationAI
Upgrade GEO my WP to version 4.5.5.1 or later, which contains the upstream fix shipped in WordPress.org plugin changeset 3552886 (https://plugins.trac.wordpress.org/changeset/3552886/geo-my-wp/trunk/includes/gmw-functions.php); this is the vendor-released patch. Until the update can be applied, operators can remove or unpublish any page containing the Posts Locator results shortcode [gmw form="results" form_id=N] to eliminate the entry point, accepting the trade-off of losing geo search-results functionality for site visitors. As an additional compensating control, a WAF rule blocking requests whose query string contains 'swlatlng' or 'nelatlng' values that are not strictly two comma-separated floats can be deployed, but this may interfere with legitimate map searches and should be tested. Refer to the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/042f78a4-2256-4286-aa03-8bd8b7a79530?source=cve for full details.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-33453
GHSA-823p-x8f9-wj7r