GeoServer WMS服务中反射型XSS漏洞技术分析

本文详细分析了GeoServer中编号为CVE-2025-21621的反射型跨站脚本漏洞。该漏洞存在于WMS服务的GetFeatureInfo HTML输出格式中,允许攻击者通过精心构造的SLD_BODY参数在受害者浏览器中执行任意JavaScript代码。

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

漏洞详情

漏洞包: maven:org.geoserver.web:gs-web-appmaven:org.geoserver:gs-wms 受影响版本: < 2.25.0 已修复版本: 2.25.0 严重等级: 中等 (CVSS评分:6.1)

漏洞描述

概要

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

详情

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

影响

如果攻击者能够控制将在受害者浏览器中执行的脚本,则他们通常可以完全控制该用户。具体而言,攻击者可以:

  • 执行用户在该应用程序中能够执行的任何操作。
  • 查看用户能够查看的任何信息。
  • 修改用户能够修改的任何信息。
  • 发起与其他应用程序用户的交互,包括恶意攻击,这些行为看起来将源自初始受害者用户。

缓解措施

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

  • 启用GetFeatureInfo HTML自动转义(适用于GeoServer 2.21.3+和2.22.1+版本)
  • 禁用动态样式
  • 禁用GetFeatureInfo text/html MIME类型

参考信息

技术指标

CVSS v3.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 设计