跳到主要内容

超危

OSGeo GeoServer GeoTools远程代码执行漏洞

2024-07-01 00:31:30 公开 ,2026-02-28 05:55:05 更新

  • CISA KEV
  • 关键漏洞
  • 供应链漏洞
  • APT漏洞
  • 勒索软件漏洞
  • 远程
  • 无需认证
  • 开源组件漏洞
  • CWE Top 25 (2023)
  • 公开PoC
  • CWE Top 25 (2024)
  • 2025两高一弱漏洞
CWEs:
CWE-95 (Eval Injection)
SSVC:
可利用状态:已被积极利用攻击自动化:是技术影响评估:全部 2024-07-13 11:55:17

风险信息

CVSS v3 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3 风险值
9.8
CVSS v3.1 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 风险值
9.8

详细信息

漏洞类型
通用型漏洞
漏洞描述
GeoServer是一个开源服务器,允许用户共享和编辑地理空间数据。GeoServer调用的GeoTools库API评估要素类型的属性/属性名称,从而不安全地将它们传递给commons-jxpath库,此XPath评估仅供复杂要素类型(即应用程序架构数据存储)使用,但未错误地应用于简单要素类型。在版本2.23.6,2.24.4和2.25.2之前,由于将属性名作为XPath表达式进行不安全的评估,多个OGC请求参数允许未经身份验证的用户通过针对默认GeoServer安装的特制输入进行远程代码执行(RCE),已确认可通过WFS GetFeature、WFS GetPropertyValue、WMS GetMap、WMS GetFeatureInfo、WMS GetLegendGraphic和WPS Execute请求利用此漏洞。此漏洞适用于 **ALL**GeoServer实例,此漏洞同时影响依赖的其它开源组件、第三方库。
修复建议
请升级到2.25.2、2.24.4、2.23.6及以上版本。参考链接: https://github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv https://github.com/geotools/geotools/pull/4797
缓解措施
解决方法是从GeoServer中删除gt-complex-x.y.jar文件,其中x.y是GeoTools版本(例如,如果运行GeoServer 2.25.1,则gt-complex-31.1.jar)。这将从GeoServer中删除易受攻击的代码,但可能会破坏某些GeoServer功能,或者如果您正在使用的扩展需要gt-complex模块,则GeoServer无法部署。 部署geoserver.war的缓解措施: 1)停止应用程序服务器; 2)将geoserver.war解压缩到目录中; 3)找到文件WEB-INF/lib/gt-complex-x.y.jar并删除; 4)将目录压缩到新的geoserver.war中; 5)重新启动应用程序服务器; 部署GeoServer二进制文件的缓解措施: 1)停止Jetty; 2)找到文件webapps/geoserver/WEB-INF/lib/gt-complex-x.y.jar并删除; 3)重新启动Jetty; 已知Application Schema、Catalog Services for the Web、MongoDB Data Store扩展和Features-Templating、OGC API Modules、Smart Data Loader、SOLR Data Store社区模块直接依赖于gt-complex jar,如果没有它,它们将无法正常运行。这不是一个完整的列表,其他GeoServer功能可能取决于gt-complex jar的可用性。 适用于先前版本的补丁:可以从GeoServer的发布页面下载已修补的gt-app-schema,gt-complex和 gt-xsd-core jar: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。 请按照上述说明找到WEB-INF/lib文件夹将gt-app-schema,gt-complex和 gt-xsd-core jar替换为补丁提供的jar文件。

参考链接