漏洞概述

漏洞名称

GeoServer远程代码执行漏洞

漏洞编号

QVD-2024-24967,CVE-2024-36401

公开时间

2024-07-01

影响量级

万级

奇安信评级

高危

CVSS 3.1分数

9.8

威胁类型

代码执行

利用可能性

POC状态

已公开

在野利用状态

未发现

EXP状态

已公开

技术细节状态

已公开

漏洞成因:GeoServer调用的GeoTools库API,在解析特性类型的属性/属性名称时,以不安全的方式将它们传递给commons-jxpath库,当解析XPath表达式时可以执行任意代码。

危害描述:未经身份认证的远程攻击者可以通过该漏洞在服务器上执行任意代码,从而获取服务器权限。

0漏洞详情

影响组件

GeoServer 是一个开源的服务器软件,使用 Java 编写,主要功能是允许用户共享和编辑地理空间数据。它在设计时就考虑到了互操作性,支持使用开放标准来发布多种主流格式的空间数据。

漏洞描述

近日,奇安信CERT监测到官方修复GeoServer远程代码执行漏洞(CVE-2024-36401),由于该系统不安全地将属性名称解析为 XPath 表达式,未经身份认证的远程攻击者可以通过该漏洞在服务器上执行任意代码,从而获取服务器权限。目前该漏洞技术细节与EXP已在互联网上公开,鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。

02 影响范围

影响版本

GeoServer < 2.23.6

2.24.0 <= GeoServer < 2.24.4

2.25.0 <= GeoServer < 2.25.2

其他受影响组件

03 复现情况

目前,奇安信威胁情报中心安全研究员已成功复现GeoServer远程代码执行漏洞(CVE-2024-36401),截图如下:

04 处置建议

安全更新

目前官方已有可更新版本,建议受影响用户升级至最新版本:

GeoServer 2.23.* >= 2.23.6

GeoServer 2.24.* >= 2.24.4

GeoServer 2.25.* >= 2.25.2

同时,官方已发布先前版本的补丁可供下载,包括已修复的 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。

下载后使用补丁文件替换原文件即可。

您可以从此处获取官方补丁下载地址:

https://github.com/geoserver/geoserver/releases

缓解措施:

从 GeoServer 中删除“gt-complex-x.y.jar”文件,其中“xy”是 GeoTools 版本(例如,如果运行 GeoServer 2.25.1,则为“gt-complex-31.1.jar”)。这将从 GeoServer 中删除易受攻击的代码,尤其是需要 gt-complex 模块时,可能会破坏某些 GeoServer 功能或导致 GeoServer 部署失败。

05 参考资料

[1]https://github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv

[2]https://github.com/geotools/geotools/pull/4797

[3]https://osgeo-org.atlassian.net/browse/GEOT-7587

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。