CVE-2026-9594CVE-2026-9594是WordPress WP Maps插件中的一个存储型跨站脚本(XSS)漏洞。该插件是一款功能强大的地图插件,支持Google Maps、OpenStreetMap和Mapbox等多种地图服务,广泛应用于创建商店定位器、目录列表和位置筛选功能。漏洞源于插件对location_messages参数缺乏有效的输入清理和输出转义处理,导致恶意脚本可以被永久存储在数据库中。攻击者利用此漏洞需要具有管理员级别或更高的访问权限,默认情况下只有管理员拥有wpgmp_manage_location自定义能力,但管理员可通过插件的权限设置将此能力分配给低权限角色。一旦攻击成功,注入的恶意JavaScript代码将在用户访问包含注入内容的页面时自动执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击等严重后果。由于是存储型XSS,恶意脚本会在所有访问受影响页面的用户浏览器中执行,影响范围广泛。
该漏洞的根本原因在于WP Maps插件的location_messages参数处理逻辑存在安全缺陷。在modules/location/model.location.php第299行和modules/shortcode/views/put-wpgmp.php第632行的代码中,插件直接使用用户提交的location_messages参数值而未进行充分的输入验证和输出编码。当管理员或具有相应权限的用户在创建或编辑位置信息时提交的location_messages字段包含恶意JavaScript代码时,这些代码会被原样存储到数据库中。在后续页面渲染过程中,这些未经过滤的内容会被直接输出到HTML页面中,从而在用户浏览器中执行。攻击者可以利用此漏洞窃取管理员Cookie、修改页面内容、重定向用户到恶意站点或执行其他客户端攻击。由于该XSS是存储型的,攻击只需一次注入即可对所有访问该页面的用户生效,且无需用户交互即可触发。