WP Maps <= 4.9.1 - Unauthenticated SQL Injection via 'location_id' Parameter
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The WP Maps plugin for WordPress is vulnerable to time-based blind SQL Injection via the 'location_id' parameter in all versions up to, and including, 4.9.1. This is due to the plugin's database abstraction layer (`FlipperCode_Model_Base::is_column()`) treating user input wrapped in backticks as column names, bypassing the `esc_sql()` escaping function. Additionally, the `wpgmp_ajax_call` AJAX handler (registered for unauthenticated users via `wp_ajax_nopriv`) allows calling arbitrary class methods including `wpgmp_return_final_capability`, which passes the unsanitized `location_id` GET parameter directly to a database query. 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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- flippercode WP Maps – Store Locator,Google Maps,OpenStreetMap,Mapbox,Listing,Directory & Filters
through 4.9.1
References 10
plugins.trac.wordpress.org
- browser/wp-google-map-plugin/tags/4.9.1/wp-google-map-plugin.php#L250
- browser/wp-google-map-plugin/trunk/wp-google-map-plugin.php#L250
- browser/wp-google-map-plugin/tags/4.9.1/wp-google-map-plugin.php#L590
- browser/wp-google-map-plugin/trunk/wp-google-map-plugin.php#L590
- browser/wp-google-map-plugin/tags/4.9.1/core/class.model.php#L328
- browser/wp-google-map-plugin/trunk/core/class.model.php#L328
- changeset?sfp_email=&sfph_mail=&reponame=&new=3475665%40wp-google-map-plugin%2Ftrunk&old=3439153%40wp-google-map-plugin%2Ftrunk&sfp_email=&sfph_mail=
- changeset/3475665/wp-google-map-plugin/trunk/wp-google-map-plugin.php
- changeset/3475665/wp-google-map-plugin/trunk/core/class.model.php