漏洞描述
GeoServer 是一个开源服务器,允许用户共享和编辑地理空间数据。在版本 2.23.6、2.24.4 和 2.25.2 之前存在一个远程代码执行漏洞,该漏洞源于 GeoServer 调用的 GeoTools 库 API 评估要素类型的属性/属性名称,从而不安全地将它们传递给 commons-jxpath 库,该库在评估 XPath 表达式时可以执行任意代码。该漏洞允许未经身份验证的用户通过针对默认 GeoServer 安装的特制输入进行远程代码执行。
漏洞成因
GeoServer 调用的 GeoTools 库 API 在评估要素类型的属性/属性名称时,将它们不安全地传递给 commons-jxpath 库,该库在评估 XPath 表达式时可能执行任意代码。此 XPath 评估仅应由复杂要素类型(即应用模式数据存储)使用,但它错误地应用于简单要素类型,这使得该漏洞适用于所有 GeoServer 实例。
漏洞影响
该漏洞可能引发远程代码执行 (RCE) 的风险。未经验证的攻击者可以通过向默认配置的 GeoServer 发送精心构造的输入,利用多个 OGC 请求参数(如 WFS GetFeature、WFS GetPropertyValue、WMS GetMap、WMS GetFeatureInfo、WMS GetLegendGraphic 和 WPS Execute 请求)来执行任意代码。这种远程代码执行会导致系统完全失控,极大地威胁系统的安全性,可能引发数据泄露、勒索软件攻击或更大范围的网络攻击。
漏洞编号
CVE-2024-36401
CNNVD-202407-085
漏洞复现
安云ASPM 检测
目前安云ASPM 已经支持该漏洞检测。
修复方案
1、官方修复方案链接:https://github.com/advisories/GHSA-6jj6-gm7p-fcvv
推荐阅读