Solr 文件上传路径遍历漏洞(CVE-2024-52012)

admin 2025年2月7日00:20:23评论64 views字数 1626阅读5分25秒阅读模式
Solr 文件上传路径遍历漏洞(CVE-2024-52012)

点击蓝字 关注我们

Solr 文件上传路径遍历漏洞(CVE-2024-52012)

漏洞介绍

Solr 在 Windows 上运行的实例容易受到任意文件路径写访问的攻击,这是由于“configset 上传”API 缺乏输入清理所致。恶意构造的 ZIP 文件可以使用相对文件路径将数据写入文件系统未预料到的部分。

影响范围

6.6 - 9.7.0

修复建议

用户建议升级到 9.8.0 版本,该版本修复了问题。无法升级的用户也可以通过使用 Solr 的“基于规则的认证插件”来限制对 configset 上传 API 的访问,以确保只能由一组受信任的管理员/用户访问,从而安全地防止问题发生。

漏洞复现

使用python构造一个恶意的zip文件

import zipfile# 创建ZIP文件并添加文件with zipfile.ZipFile('0.zip''w'as zipf:    zipf.writestr("0.txt""hello world, 0")    zipf.writestr("../a.txt","hello world")    zipf.writestr("../a.class.","class test")

然后在目标环境发送put请求上传恶意的zip文件。

Solr 文件上传路径遍历漏洞(CVE-2024-52012)

可以看到成功将a.txt和a.class上传到了上一级目录。

Solr 文件上传路径遍历漏洞(CVE-2024-52012)

漏洞分析

打开仓库的更新推送信息,https://github.com/apache/solr/commit/5795edd143b8fcb2ffaf7f278a099b8678adf396#diff-fb4471c6f2ee95d8ed60f9b5746ad282b1cdd59527d463061bb8c24090be57b3

看更新的主要代码,可以发下就是增加了isPathAChildOfParent函数检查目录逃逸。

Solr 文件上传路径遍历漏洞(CVE-2024-52012)

在org.apache.solr.handler.configsets.UploadConfigSetAPI#uploadConfigSet函数中调用了这个上传函数,这里是一个常见的存在漏洞地方。解压缩导致目录穿越。直接使用了ZipInputStream处理了传入的压缩包,在java的原生处理中,并没有对压缩包中特殊的文件名比如../a.txt做处理。这一点在其他语言中也常见。然后这里也没有进行其他的处理,直接将压缩包中每一项的信息使用了uploadFileToConfig函数进行了保存,就是上面截图中的函数。所以可以直接上传一个恶意的压缩包文件。

Solr 文件上传路径遍历漏洞(CVE-2024-52012)

在uploadFileToConfig函数中也可以看到在执行到写入文件钱前还经历了两部分检测。第一个函数isFileForbiddenInConfigSets是黑名单后缀检测,禁止

"class", "java", "jar", "tgz", "zip", "tar", "gz"

这些后缀进行上传。第二个函数isFileForbiddenInConfigset是根据文件前字节的魔术字节匹配确定禁止的文件类型。

但是官方的漏洞介绍说在windows环境下存在这个风险,不知道是不是指可以通过Windows特性绕过后缀检测,比如a.class.这样。所以对描述中的Windows存在路径遍历还是不是很明白为什么这样说。

Solr 文件上传路径遍历漏洞(CVE-2024-52012)

参考链接

https://solr.apache.org/security.html#cve-2024-52012-apache-solr-configset-upload-on-windows-allows-arbitrary-path-write-access

https://github.com/apache/solr/commit/5795edd143b8fcb2ffaf7f278a099b8678adf396#diff-fb4471c6f2ee95d8ed60f9b5746ad282b1cdd59527d463061bb8c24090be57b3

原文始发于微信公众号(天启实验室):Solr 文件上传路径遍历漏洞(CVE-2024-52012)

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

发表评论

匿名网友 填写信息