GeoServer是一个开源服务器,用于共享、处理和编辑地理空间数据。它支持多种地图和数据标准,使用户能够通过网络访问和操作地理信息系统(GIS)数据。
2024年7月,互联网上披露Geoserver表达式注入致远程代码执行漏洞(CVE-2024-36401),攻击者无需认证即可利用该漏洞获取服务器权限,建议受影响的客户尽快修复漏洞。
漏洞描述
Description
0****1
漏洞成因
该系统不安全地将属性名称解析为 XPath 表达式。GeoServer 调用的 GeoTools 库 API 以不安全的方式将要素类型的属性名称传递给 commons-jxpath 库。该库在解析 XPath 表达式时,可以执行任意代码。这种 XPath 评估本应仅供复杂要素类型(例如应用程序架构数据存储)使用,但由于错误,该机制也被应用于简单要素类型。这使得所有 GeoServer 实例都可能受到该漏洞的影响。
此漏洞可能导致远程代码执行 (RCE)。未经身份验证的用户可以通过向默认的 GeoServer 安装发送特制的输入,利用多个 OGC 请求参数,如 WFS GetFeature、WFS GetPropertyValue、WMS GetMap、WMS GetFeatureInfo、WMS GetLegendGraphic 和 WPS Execute 请求,从而执行任意代码。这种远程代码执行将导致系统被完全控制,严重威胁系统安全,可能造成数据泄露、勒索或更广泛的网络攻击。
处置优先级:高
**漏洞类型:**远程代码执行
漏洞危害等级:高
**触发方式:**网络远程
**权限认证要求:**无需任何权限
**系统配置要求:**默认配置可利用
**用户交互要求:**无需用户交互
**利用成熟度:**POC/EXP 未公开
**批量可利用性:**可使用通用 POC/EXP,批量检测/利用
**修复复杂度:**低,官方提供缓解、修复方案
影响版本
Affects
03
2.25.0 <= GeoServer < 2.25.2
2.24.0 <= GeoServer < 2.24.4
GeoServer < 2.23.6
解决方案
Solution
04
官方已发布先前版本的补丁可供下载(https://geoserver.org/),包括已修复的 gt-app-schema、gt-complex 和 gt-xsd-core jar 文件。补丁可从以下 GeoServer 版本的发布页面下载:2.25.1、2.24.3、2.24.2、2.23.2、2.21.5、2.20.7、2.20.4、2.19.2、2.18.0。下载后使用补丁文件替换原文件即可。
通过删除 GeoServer 中的 gt-complex-x.y.jar 文件(其中 x.y 是 GeoTools 版本,例如运行 GeoServer 2.25.1 时为 gt-complex-31.1.jar),可以临时缓解此漏洞。这将从 GeoServer 中移除漏洞代码,但可能会导致某些 GeoServer 功能失效或 GeoServer 部署失败,尤其是当 gt-complex 模块被正在使用的扩展所需要时。
漏洞复现
Reproduction
05
产品支持
Support
06
**云图:**默认支持该产品的指纹识别,同时支持该漏洞的PoC原理检测。
**洞鉴:**以自定义POC形式支持该漏洞的原理检测。
**雷池:**默认支持检测该漏洞的利用行为。
**全悉:**默认支持检测该漏洞的利用行为。
时间线
Timeline
07
7月2日 官方发布漏洞公告
7月2日 长亭应急响应实验室复现漏洞
7月2日 长亭安全应急响应中心发布通告
参考资料:
[1].https://github.com/advisories/GHSA-6jj6-gm7p-fcvv
长亭应急响应服务
全力进行产品升级
及时将风险提示预案发送给客户
检测业务是否受到此次漏洞影响
请联系长亭应急服务团队
7*24小时,守护您的安全
第一时间找到我们:
应急响应热线:4000-327-707