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
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Lifecycle Timeline
4DescriptionCVE.org
The Geo Mashup plugin for WordPress is vulnerable to Time-Based SQL Injection via the 'object_ids' and 'exclude_object_ids' parameters in all versions up to, and including, 1.13.18. This is due to insufficient escaping on the user supplied parameters and lack of sufficient preparation on the existing SQL query. The esc_sql() function is applied but is ineffective because the values are placed in an unquoted IN(...) / NOT IN(...) SQL context - esc_sql() only escapes quote characters and provides no protection against parenthesis or SQL keyword injection. Additionally, while a numeric-only sanitizer exists in sanitize_query_args(), it is only applied in the AJAX code path and not in the render-map.php or template tag code paths. 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.
AnalysisAI
Time-based SQL injection in Geo Mashup WordPress plugin versions ≤1.13.18 allows unauthenticated remote attackers to extract sensitive database information. The vulnerability stems from ineffective sanitization in the 'object_ids' and 'exclude_object_ids' parameters-while esc_sql() is applied, it provides no protection in unquoted IN() contexts where attackers can inject parentheses and SQL keywords. The numeric sanitizer exists but only applies to AJAX paths, leaving render-map.php and template tag paths vulnerable. EPSS data not available; no CISA KEV listing or public POC identified at time of analysis, but Wordfence Threat Intelligence disclosure increases likelihood of weaponization.
Technical ContextAI
This is a classic CWE-89 SQL injection vulnerability in a WordPress plugin (Geo Mashup by cyberhobo) that provides mapping functionality. The affected code in geo-mashup-db.php constructs SQL queries with user-controlled parameters placed into IN() and NOT IN() clauses without proper quoting. WordPress developers commonly misuse esc_sql() assuming it provides comprehensive SQL injection protection, but this function only escapes quote characters (single/double quotes) and backslashes. In unquoted SQL contexts like 'WHERE id IN({user_input})', an attacker can inject arbitrary SQL by closing the parenthesis early and appending commands (e.g., '1) OR SLEEP(5)--'). The plugin does implement sanitize_query_args() with numeric validation, but architectural flaws limit this protection to AJAX request handlers only-direct calls via render-map.php shortcodes and template tags bypass this defense entirely, creating multiple attack surfaces.
RemediationAI
Upgrade to Geo Mashup version 1.13.19 or later, which addresses this vulnerability per changeset 3503627 visible at https://plugins.trac.wordpress.org/changeset/3503627/. The patch implements proper parameterized queries or enforces numeric-only validation across all code paths (AJAX, shortcodes, and template tags), not just the previously protected AJAX handlers. If immediate upgrade is not possible, implement these compensating controls: (1) Disable or remove the Geo Mashup plugin entirely until patching-this eliminates risk but breaks mapping functionality; (2) Restrict plugin usage to authenticated administrator-only contexts by modifying render-map.php to add capability checks, though this requires code changes and may break legitimate public maps; (3) Deploy a Web Application Firewall (WAF) with rules blocking SQL injection patterns in object_ids and exclude_object_ids parameters (regex matching parentheses, SLEEP, BENCHMARK, UNION keywords), but recognize that time-based injection can use obfuscation techniques bypassing signature detection. None of these workarounds provide complete protection-upgrading remains the only reliable solution. Review WordPress database logs for suspicious query patterns (long execution times, repeated requests with varying numeric parameters) to identify potential exploitation attempts.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-26780