Text4Shell漏洞技术分析,交易所等机构需注意

admin 2022年10月29日18:44:37评论69 views字数 1596阅读5分19秒阅读模式


Text4Shell漏洞技术分析,交易所等机构需注意

CVE编号

CVE-2022-42889

描述

Apache Commons Text支持执行变量插值,标准格式是“${prefix:name}”,其中“prefix”用于定位org.apache.commons.text.lookup.StringLookup的实例。从1.5版到1.9版,默认lookup实例集如:script使用JVM 脚本执行引擎javax.script执行表达式、 dns用于解析dns记录、url用于发起任意http请求。

如果使用了不受信任的配置值,则受影响的应用程序容易受到远程代码执行,该漏洞NVD评分为9.8。

Apache Commons Text作为Java语言的基础组件,其安全性需要各Web3项目方提高重视,及时关注各种Web3基础架构的安全漏洞并及时打好补丁,以避免潜在的安全风险和数字资产损失。我们将及时挖掘,追踪各种web3上的安全风险,以及提供领先的安全解决方案,确保web3世界链上,链下安全无虞。

受影响版本

>=1.5 <=1.9

分析

阅读官方1.9文档时,看到以下内容

Text4Shell漏洞技术分析,交易所等机构需注意

通过script插值执行javascript运算,得到结果:

Text4Shell漏洞技术分析,交易所等机构需注意

根据漏洞描述script使用 JVM 脚本执行引擎(javax.script),猜测StringSubstitutor.replace方法处理script插值时可能执行任意java代码。

构造payload:

${Script:javascript:java.lang.Runtime.getRuntime().exec("open -a calculator");}"

Text4Shell漏洞技术分析,交易所等机构需注意

分析入口StringSubstitutor.replace,调用了substitute方法处理传入的字符串

Text4Shell漏洞技术分析,交易所等机构需注意

进行处理${}字符,取出再进行解析,跟入resolveVariable方法

Text4Shell漏洞技术分析,交易所等机构需注意

继续跟进StringLookup对象的lookup方法

Text4Shell漏洞技术分析,交易所等机构需注意

在stringLookupMap初始化了其他插值,插值对应不同lookup实例

Text4Shell漏洞技术分析,交易所等机构需注意

当前传入是script,lookup实例对应ScriptStringLookup类的lookup方法

Text4Shell漏洞技术分析,交易所等机构需注意

在该方法中,最终调用scriptEngine.eval触发漏洞。

Text4Shell漏洞技术分析,交易所等机构需注意

调用栈

Text4Shell漏洞技术分析,交易所等机构需注意

修复

在1.10.0版本中stringLookupMap集合初始化时不再有script,lookup为null时,既没有找到对应实例。

Text4Shell漏洞技术分析,交易所等机构需注意

其他插值的利用

1.任意文件读取

${file:UTF-8:/etc/passwd}

此时为lookup实例为FileStringLookup类

Text4Shell漏洞技术分析,交易所等机构需注意

lookup方法读取文件返回

Text4Shell漏洞技术分析,交易所等机构需注意

结果

Text4Shell漏洞技术分析,交易所等机构需注意

2. DNS探测

${dns:127.0.0.1|test.xxx.xxx}

用于无损检测

Text4Shell漏洞技术分析,交易所等机构需注意

3. HTTP 请求

可用于ssrf探测端口

${url:UTF-8:http://127.0.0.1:2121}

Text4Shell漏洞技术分析,交易所等机构需注意

总结

该漏洞payload看起来类似于log4shell,很容易被攻击者利用,有些人已经开始将其称为“Text4Shell”或“Act4Shell”。

建议各Web3项目方提高重视,及时升级到 Apache Commons Text 1.10.0,默认情况下禁用有问题的插值器,以避免潜在的安全风险和数字资产损失。如有任何疑问或技术交流,欢迎联系我们 [email protected]


Numen 导航

Numen 官网
https://numencyber.com/ 
GitHub
https://github.com/NumenCyber
Twitter
https://twitter.com/@numencyber
Medium
https://medium.com/@numencyberlabs

LinkedIn

https://www.linkedin.com/company/numencyber/

原文始发于微信公众号(Numen Cyber Labs):Text4Shell漏洞技术分析,交易所等机构需注意

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月29日18:44:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Text4Shell漏洞技术分析,交易所等机构需注意https://cn-sec.com/archives/1359784.html

发表评论

匿名网友 填写信息