Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
4DescriptionCVE.org
The Geo Mashup plugin for WordPress is vulnerable to Time-Based SQL Injection via the 'map_post_type' parameter in all versions up to, and including, 1.13.18. This is due to the SearchResults hook explicitly calling stripslashes_deep($_POST) which removes WordPress magic quotes protection, followed by the unsanitized map_post_type value being concatenated into an IN(...) clause without esc_sql() or $wpdb->prepare(). The 'any' branch of the same code correctly applies array_map('esc_sql', ...), but the else branch does not. 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 via a time-based blind approach. Exploitation requires the Geo Search feature to be enabled in plugin settings.
AnalysisAI
Time-based blind SQL injection in Geo Mashup WordPress plugin allows unauthenticated remote attackers to extract database contents when Geo Search is enabled. The vulnerability stems from explicit removal of WordPress's built-in magic quotes protection via stripslashes_deep($_POST), combined with failure to sanitize the map_post_type parameter before SQL concatenation in an IN() clause. EPSS data not provided. No CISA KEV listing indicates this is not yet confirmed as actively exploited. Public exploit code status unknown, though detailed code references in Wordfence advisory provide clear exploitation path. Patch released in changeset 3503627.
Technical ContextAI
This is a classic SQL injection (CWE-89) in a WordPress plugin context. WordPress core historically applied 'magic quotes' to sanitize user input, but many plugins including Geo Mashup explicitly strip these protections using stripslashes_deep() for processing flexibility. The vulnerability occurs in the SearchResults hook where the map_post_type POST parameter is used to build a SQL IN() clause. The code contains a conditional branch: when map_post_type equals 'any', the plugin correctly applies array_map('esc_sql', ...) to sanitize values. However, the else branch directly concatenates unsanitized input without using WordPress's esc_sql() function or $wpdb->prepare() parameterized queries. This allows attackers to inject SQL commands. The time-based blind approach mentioned means attackers use SQL time delay functions (like SLEEP() in MySQL) to infer data one bit at a time by measuring response times, working around the lack of direct error messages or visible output.
RemediationAI
Upgrade Geo Mashup to version 1.13.19 or later, which contains the fix delivered in WordPress plugin changeset 3503627 (https://plugins.trac.wordpress.org/changeset/3503627/). The patch properly sanitizes the map_post_type parameter in the else branch to match the security controls already present in the 'any' branch. If immediate patching is not feasible, disable the Geo Search feature in the plugin's settings as a temporary compensating control-this eliminates the vulnerable code path entirely but removes geolocation search functionality from the site. Alternatively, implement Web Application Firewall (WAF) rules to inspect POST requests to WordPress endpoints for SQL injection patterns targeting the map_post_type parameter, specifically looking for SQL metacharacters, time-delay functions (SLEEP, BENCHMARK), or comment sequences, though this may generate false positives and requires ongoing rule tuning. Review database access logs for unusual query patterns or time-delayed responses that might indicate exploitation attempts prior to patching.
More in Geo Mashup
View allThe Geo Mashup plugin before 1.10.4 for WordPress has insufficient sanitization of post editor and other user input. Rat
Time-based SQL injection in WordPress Geo Mashup plugin ≤1.13.18 allows unauthenticated remote attackers to extract sens
SQL injection in the Geo Mashup WordPress plugin (versions <= 1.13.19) allows authenticated users with Subscriber-level
Unauthenticated Local File Inclusion in the Geo Mashup WordPress plugin (all versions through 1.13.18) enables a remote,
Time-based SQL injection in Geo Mashup WordPress plugin versions ≤1.13.18 allows unauthenticated remote attackers to ext
Unauthenticated cross-site scripting in the Geo Mashup WordPress plugin (versions <= 1.13.18) allows remote attackers to
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Dylan Kuhn Geo Mas
Stored XSS in the Geo Mashup WordPress plugin (versions through 1.13.18) allows authenticated low-privileged users to pe
Time-based blind SQL injection in Geo Mashup WordPress plugin versions up to 1.13.19 allows authenticated attackers with
Multiple plugins and/or themes for WordPress are vulnerable to Reflected Cross-Site Scripting via the url parameter in v
Authorization bypass in the Geo Mashup WordPress plugin (all versions ≤ 1.13.19) exposes sensitive plugin configuration
Cross-site scripting (XSS) vulnerability in the geo search widget in the Geo Mashup plugin before 1.8.3 for WordPress al
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-26779