
漏洞速览
- 风险评分:
9.1(严重) - 首次披露:2026-05-27
- 最近更新:2026-05-27
- 软件类型:插件
- 软件标识:
geo-my-wp - 受影响版本:<= 4.5.4
- 修复版本:4.5.5
- 是否已修复:是
漏洞详情
GEO my WP 插件在 4.5.4 及以下版本中存在 SQL 注入漏洞,攻击者可利用距离、纬度和经度三个参数发起攻击。
插件通过 parsestr() 从 $SERVER[‘QUERYSTRING’] 读取参数值(绕过了不覆盖 $SERVER 的 wpmagicquotes),随后直接调用 escsql() 进行处理,未做任何类型转换就直接拼接进 proximity-search 查询语句的 HAVING/SELECT 子句(用于距离计算和 BETWEEN 边界框预过滤)以及 gmwlocations_query() 函数(位于 plugins/posts-locator/includes/class-gmw-wp-query.php)中。
由于 escsql() 仅转义字符串分隔符,而这些位置实际需要的是数值类型,因此诸如 1 OR SLEEP(3) 这样的注入 payload 得以存活。 该漏洞已在 4.5.5 版本中修复,方法是在上游增加 isnumeric() 检查——当任一坐标值非数字时直接将 WHERE 条件短路为 AND 1 = 0,同时将三处 esc_sql() 调用替换为 (float) 类型转换。
影响与风险
- 漏洞类型:Unauthenticated SQL Injection via ‘distance’ / ‘lat’ / ‘lng’ Parameters
- 风险说明:漏洞可能被利用以执行未授权操作,建议按官方修复方案立即升级并复核安全配置。
修复建议
- 按官方建议执行修复:更新至 4.5.5 或更高已修复版本。
- 复核
administrator/shop manager等高权限账号与角色授权。 - 排查近期插件安装/配置变更记录,确认无异常写入。
- 建议配合 WAF 与登录审计,持续观察可疑请求。

评论0 注意:评论区不审核也不处理售后问题!如有售后问题请前往用户中心提交工单以详细说明!