CVE-2026-9757CVE-2026-9757是WordPress GEO my WP插件中的一个高危SQL注入漏洞,CVSS评分7.5。该漏洞存在于插件的位置查询功能中,攻击者可以通过构造恶意请求来操纵数据库查询,从而获取敏感信息。漏洞的根本原因在于程序从$_SERVER['QUERY_STRING']直接读取参数并使用parse_str()解析,绕过了WordPress的wp_magic_quotes安全保护机制(该机制仅保护$_POST/$_GET/$_COOKIE/$_REQUEST)。随后,攻击者可以通过explode()函数分割参数值,并将结果直接拼接到SQL BETWEEN子句中,完全缺少is_numeric()验证、(float)类型转换、esc_sql()转义或$wpdb->prepare()预处理。此漏洞无需认证即可利用,但需要网站在公开页面托管Posts Locator搜索结果短代码[gmw form="results" form_id=N],且至少有一篇关联了gmw_location记录的已发布文章。攻击者可以利用此漏洞注入额外的SQL查询语句,从数据库中提取敏感信息,包括用户数据、密码哈希等。
漏洞位于GEO my WP插件的gmw_get_locations_within_boundaries_sql()函数中。攻击者通过swlatlng和nelatlng参数注入恶意SQL代码。具体攻击流程如下:1) 攻击者构造包含SQL注入载荷的URL参数,如swlatlng=1,1) AND (SELECT 1 FROM (SELECT COUNT(*), CONCAT((SELECT database()), FLOOR(RAND(0)*2))x FROM information_schema.tables GROUP BY x)u)--;2) parse_str()函数解析QUERY_STRING并将参数注入到$_GET/$_REQUEST中,绕过wp_magic_quotes保护;3) explode()函数按逗号分割参数值;4) 分割后的值直接拼接到SQL BETWEEN子句,如WHERE lat BETWEEN '1' AND '1) AND...',导致SQL注入;5) 攻击者使用UNION SELECT或布尔盲注等技术提取数据库内容。漏洞影响版本为4.5.5及之前所有版本。修复需要在数据库操作前对所有用户输入进行严格验证和转义处理。