CVE-2025-21621GeoServer是一款开源的地理空间数据服务器,允许用户共享和编辑地理空间数据。该漏洞存在于GeoServer 2.25.0之前的版本中,具体位于WMS(Web Map Service)GetFeatureInfo功能的HTML输出格式处理模块。攻击者可以通过在SLD_BODY参数中注入特制的恶意脚本,当受害者访问包含该恶意参数的请求时,反射型XSS漏洞会被触发,导致攻击者能够在受害者的浏览器上下文中执行任意JavaScript代码。这种攻击可能导致会话劫持、敏感信息窃取、恶意重定向等安全问题。由于该漏洞利用需要用户交互,攻击者通常需要诱导用户点击恶意链接或访问包含恶意内容的页面。
GeoServer的WMS GetFeatureInfo功能用于返回地图上特定位置的要素信息。当请求的输出格式为HTML时,系统会将返回的要素信息嵌入到HTML页面中。漏洞产生的原因是在处理SLD_BODY参数时,未对用户输入进行充分的输入验证和输出编码。攻击者可以通过构造包含JavaScript脚本的SLD_BODY参数值,将其反射到响应HTML中。当用户通过浏览器访问这个特制的请求时,浏览器会将其解析为可执行脚本,从而执行攻击者注入的恶意代码。攻击成功的关键条件包括:1)目标用户需要访问攻击者构造的恶意URL;2)目标服务器返回的HTML响应未正确转义特殊字符;3)浏览器的同源策略未被严格实施。该漏洞属于经典的反射型XSS,与存储型XSS不同,恶意脚本不会持久化在服务器端,而是通过URL参数即时反射。