GeoServer WMS GetFeatureInfo HTML格式反射型跨站脚本漏洞(CVE-2025-21621)深度解析

GeoServer在WMS服务的GetFeatureInfo HTML输出格式中存在一个反射型跨站脚本漏洞,攻击者可通过特制的SLD_BODY参数在受害者浏览器中执行任意JavaScript代码,导致用户数据被窃取或账户被完全控制。

GeoServer反射型跨站脚本(XSS)漏洞 CVE-2025-21621

漏洞详情

包信息

Maven包:

  • org.geoserver.web:gs-web-app
  • org.geoserver:gs-wms

受影响版本: 所有低于2.25.0的版本

已修复版本: 2.25.0及更高版本

漏洞描述

概述

GeoServer的WMS GetFeatureInfo HTML输出格式存在一个反射型跨站脚本(XSS)漏洞。远程攻击者可以通过特制的SLD_BODY参数在受害者的浏览器中执行任意JavaScript代码。

技术细节

在受影响版本中,控制HTML自动转义的WMS服务设置要么默认被禁用,要么完全缺失(参见缓解措施部分)。

影响

如果攻击者能够控制在受害者浏览器中执行的脚本,通常可以完全控制该用户。具体影响包括:

  • 执行用户可以在应用程序中执行的任何操作
  • 查看用户可以访问的任何信息
  • 修改用户可以修改的任何信息
  • 发起与其他应用程序用户的交互,包括恶意攻击,这些攻击将显示为来自初始受害用户

缓解措施

在大多数环境中,更改以下任一WMS服务设置可以缓解此漏洞:

  1. 启用GetFeatureInfo HTML自动转义(在GeoServer 2.21.3+和2.22.1+版本中可用)
  2. 禁用动态样式
  3. 禁用GetFeatureInfo text/html MIME类型

参考链接

安全评分

严重程度

中危 - CVSS总体评分:6.1/10

CVSS v3基础指标

  • 攻击向量:网络
  • 攻击复杂度:低
  • 所需权限:无
  • 用户交互:需要
  • 影响范围:已更改
  • 机密性影响:低
  • 完整性影响:低
  • 可用性影响:无

完整CVSS向量:CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

EPSS评分

0.038%(第11百分位)

弱点分类

CWE-79:网页生成期间输入的不当中和(跨站脚本)

标识符

  • CVE ID: CVE-2025-21621
  • GHSA ID: GHSA-w66h-j855-qr72

源代码仓库

geoserver/geoserver

致谢

漏洞报告者:sikeoka

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计