CVE-2024-36401
GeoServer 中评估属性名表达式时的远程代码执行 (RCE) 漏洞
- 已发布
- 2024年7月1日
- 已更新
- 2025年10月21日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2024年7月15日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H高 · 未来 30 天
- 百分位
- 100.0%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
CISA 已知被利用
此 CVE 出现在 CISA 已知利用的漏洞目录中。
总结
GeoServer 是一个开源服务器,允许用户共享和编辑地理空间数据。在 2.22.6、2.23.6、2.24.4 和 2.25.2 版本之前,多个 OGC 请求参数允许未经身份验证的用户通过针对默认 GeoServer 安装的特制输入实现远程代码执行(RCE),原因是将属性名作为 XPath 表达式进行了不安全地求值。GeoServer 调用的 GeoTools 库 API 在对要素类型的属性/字段名求值时,会以不安全的方式将它们传递给 commons-jxpath 库,该库在求值 XPath 表达式时可以执行任意代码。此 XPath 求值本应仅用于复杂要素类型(即 Application Schema 数据存储),但却被错误地应用于简单要素类型,这使得该漏洞影响 **所有** GeoServer 实例。虽然没有公开的 PoC,但已确认该漏洞可通过 WFS GetFeature、WFS GetPropertyValue、WMS GetMap、WMS GetFeatureInfo、WMS GetLegendGraphic 和 WPS Execute 请求进行利用。该漏洞可导致执行任意代码。2.22.6、2.23.6、2.24.4 和 2.25.2 版本包含针对此问题的补丁。还有一种变通方案,即从 GeoServer 中删除 `gt-complex-x.y.jar` 文件,其中 `x.y` 是 GeoTools 版本(例如,如果运行的是 GeoServer 2.25.1,则为 `gt-complex-31.1.jar`)。这将从 GeoServer 中移除易受攻击的代码,但可能会破坏某些 GeoServer 功能,或者如果需要 gt-complex 模块,则可能阻止 GeoServer 部署。
来源
22- CVE-2024-36401漏洞利用
CVE-2024-36401 (GeoServer 远程代码执行)
- CVE-2024-36401漏洞利用
CVE-2024-36401 的 POC。此 POC 将尝试从目标漏洞建立反向 shell。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。