Geolocation IP Detection Security & Risk Analysis

wordpress.org/plugins/geoip-detect

Provides geographic information detected by an IP adress.

20K active installs v5.6.1 PHP 7.2.5+ WP 5.0+ Updated Oct 29, 2025
geoipgeolocationipstacklocatormaxmind
99
A · Safe
CVEs total1
Unpatched0
Last CVESep 22, 2025
Safety Verdict

Is Geolocation IP Detection Safe to Use in 2026?

Generally Safe

Score 99/100

Geolocation IP Detection has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Sep 22, 2025Updated 5mo ago
Risk Assessment

The geoip-detect plugin v5.6.1 presents a mixed security posture. While it demonstrates good practices in several areas, such as the absence of critical or high-severity taint flows and a low percentage of improperly escaped outputs, there are notable concerns. The presence of unprotected AJAX handlers is a significant risk, as it allows unauthenticated access to plugin functionality, potentially leading to vulnerabilities if not properly secured. Furthermore, the plugin utilizes raw SQL queries without prepared statements, which can expose it to SQL injection risks. The vulnerability history, particularly a past medium-severity Cross-Site Scripting (XSS) vulnerability, suggests that input sanitization and output escaping, while generally good, might not be consistently applied across all potential attack vectors. The plugin's overall security is adequate but requires attention to its unprotected entry points and raw SQL usage to mitigate known risks and prevent future exploits.

Key Concerns

  • Unprotected AJAX handlers
  • Raw SQL queries without prepared statements
Vulnerabilities
1

Geolocation IP Detection Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-57993medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Geolocation IP Detection <= 5.5.0 - Authenticated (Contributor+) Stored Cross-Site Scripting

Sep 22, 2025 Patched in 5.6.0 (39d)
Code Analysis
Analyzed Mar 16, 2026

Geolocation IP Detection Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
0 prepared
Unescaped Output
31
90 escaped
Nonce Checks
1
Capability Checks
6
File Operations
9
External Requests
3
Bundled Libraries
0

SQL Query Safety

0% prepared1 total queries

Output Escaping

74% escaped121 total outputs
Data Flows
All sanitized

Data Flow Analysis

4 flows
geoip_detect_option_page (admin-ui.php:135)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Geolocation IP Detection Attack Surface

Entry Points15
Unprotected2

AJAX Handlers 2

authwp_ajax_geoip_detect2_get_info_from_current_ipajax.php:73
noprivwp_ajax_geoip_detect2_get_info_from_current_ipajax.php:74

Shortcodes 13

[geoip_detect2_current_flag] shortcodes\flags.php:102
[geoip_detect2_text_input] shortcodes\input.php:82
[geoip_detect2_input] shortcodes\input.php:83
[geoip_detect2] shortcodes\main.php:94
[geoip_detect2_get_client_ip] shortcodes\other.php:44
[geoip_detect2_get_external_ip_adress] shortcodes\other.php:52
[geoip_detect2_get_current_source_description] shortcodes\other.php:59
[geoip_detect2_user_info] shortcodes\other.php:68
[geoip_detect2_enqueue_javascript] shortcodes\other.php:74
[geoip_detect2_countries_select] shortcodes\select.php:173
[geoip_detect2_countries] shortcodes\select.php:174
[geoip_detect2_show_if] shortcodes\show_if.php:126
[geoip_detect2_hide_if] shortcodes\show_if.php:127
WordPress Hooks 28
actionadmin_menuadmin-ui.php:32
actionwp_enqueue_scriptsajax.php:111
actionwp_enqueue_scriptsajax.php:151
actionall_admin_noticescheck_compatibility.php:109
actionplugins_loadedcheck_compatibility.php:129
actionall_admin_noticescheck_requirements.php:48
actionall_admin_noticescheck_requirements.php:86
actiongeoipdetectupdatedata-sources\auto.php:107
actionplugins_loadeddata-sources\auto.php:108
filtergeoip_detect_source_get_status_HTML_maxminddata-sources\manual.php:286
filterbody_classfilter.php:27
filtergeoip_detect2_localesfilter.php:68
filtergeoip_detect2_localesfilter.php:96
filtergeoip_detect2_record_datageoip-detect-lib.php:276
filtergeoip_detect2_record_datageoip-detect-lib.php:306
actionplugins_loadedgeoip-detect.php:59
actionplugins_loadedinit.php:28
actionall_admin_noticesinit.php:57
actionall_admin_noticesinit.php:67
actionadmin_initinit.php:71
actionadmin_initinit.php:167
actionadmin_initinit.php:201
actionwpcf7_initshortcodes\cf7.php:5
filterwpcf7_special_mail_tagsshortcodes\cf7.php:218
filterwpforms_smart_tagsshortcodes\wpforms.php:19
filterwpforms_smart_tag_processshortcodes\wpforms.php:39
actiongeoipdetectupdateupdater.php:64
actionplugins_loadedupgrade-plugin.php:117

Scheduled Events 3

geoipdetectupdate
geoipdetectupdate
geoipdetectupdate
Maintenance & Trust

Geolocation IP Detection Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedOct 29, 2025
PHP min version7.2.5
Downloads560K

Community Trust

Rating94/100
Number of ratings59
Active installs20K
Developer Profile

Geolocation IP Detection Developer Profile

Benjamin Pick

1 plugin · 20K total installs

87
trust score
Avg Security Score
99/100
Avg Patch Time
39 days
View full developer profile
Detection Fingerprints

How We Detect Geolocation IP Detection

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/geoip-detect/dist/js/base.min.js/wp-content/plugins/geoip-detect/dist/js/minimal.min.js/wp-content/plugins/geoip-detect/dist/js/full.min.js/wp-content/plugins/geoip-detect/dist/css/geoip-detect.min.css
Script Paths
/wp-content/plugins/geoip-detect/dist/js/base.min.js/wp-content/plugins/geoip-detect/dist/js/minimal.min.js/wp-content/plugins/geoip-detect/dist/js/full.min.js
Version Parameters
geoip-detect/dist/css/geoip-detect.min.css?ver=geoip-detect/dist/js/base.min.js?ver=geoip-detect/dist/js/minimal.min.js?ver=geoip-detect/dist/js/full.min.js?ver=

HTML / DOM Fingerprints

CSS Classes
geoip-detect-country-geoip-detect-region-geoip-detect-city-geoip-detect-country-name-geoip-detect-region-name-geoip-detect-city-name-geoip-detect-continent-code-geoip-detect-continent-name-+101 more
HTML Comments
<!-- geoip-detect: If the country is not detectable, you can decide how to proceed. Default: false --><!-- geoip-detect: If the region is not detectable, you can decide how to proceed. Default: false --><!-- geoip-detect: If the city is not detectable, you can decide how to proceed. Default: false --><!-- geoip-detect: If the country name is not detectable, you can decide how to proceed. Default: false -->+106 more
Data Attributes
data-geoip-detect-geoip-detect-countrygeoip-detect-regiongeoip-detect-citygeoip-detect-country-namegeoip-detect-region-name+57 more
JS Globals
geoip_detect_basegeoip_detect_full
REST Endpoints
/wp-json/geoip-detect/v1/info
Shortcode Output
[geoip_detectgeoip_detect_countrygeoip_detect_regiongeoip_detect_city
FAQ

Frequently Asked Questions about Geolocation IP Detection