漏洞评分高达9.8分!Text4Shell 会是下一个 Log4Shell吗?
在过去的几天里,Apache Commons Text 库中一个名为 Text4Shell 的新漏洞引起很大的轰动,该漏洞存在于 Apache Commons Text 1.5到1.9版本中。此警报于10月18日发布,此前检测到大量试图利用 CVE-2022-42889 安全漏洞的攻击尝试,该漏洞通过 StringSubstitutor API 实现远程代码执行,其CVSSv3 评分高达9.8分(满分10分)。为避免该漏洞关联的风险,企业需要使用可用的最新版本 Apache Commons Text 1.10.0,默认情况下禁用脚本插值。
Log4Shell 卷土重来了吗?
Text4Shell 之所以受到诸多关注是因为其名称与去年可怕的 Log4Shell 漏洞十分相似。Log4Shell 和 Text4Shell 都是在 java 开源项目中发现的。Text4Shell 漏洞的攻击方式是恶意攻击者通过利用漏洞,来使用专门为攻击设计的有效负载在易受攻击的应用程序中成功反向打开 shell,攻击者还可以通过 StringSubstitutor API 实现远程执行代码。
但是,StringSubstitution 不像 Log4j 那么普遍,目前有 2591个项目使用受影响的 Apache Commons Text 库版本。这样看来,使用 Substitution 方法并且不清理不受信任的输入的项目并不多。同时为了让 Text4Shell 可被利用,必须要设置多个先决条件。加上没有清理输入的字符串替换方法并不是很常见的做法,可以说 Text4Shell 的风险比 Log4Shell 漏洞中的 Log4j 低得多。
开发人员在写代码时出现失误很正常的事情,也是意料之中的事,而在开源生态中,许多开源维护者和贡献者并不是专业的开发人员,因此错误难以避免。Text4Shell 给大多数公司带来的最大问题就是调查和补救漏洞所需要耗费的时间,因为大多数组织缺乏工具和技术来快速发现这种依赖关系的使用情况。在这个层面上,Text4Shell 和 Log4Shell 的比较是比较恰当的。要知道,美国安全审查委员会关于 Log4Shell 的最新报告指出美国政府共计投入了33000个小时来调查和响应 Log4Shell 漏洞!
虽然开源维护者也正在努力减少失误出现,但开源软件的最终用户始终需要投资于依赖软件生命周期管理解决方案,来帮助他们选择安全适当的依赖关系并给予有效保护。同时通过提高自动化程度,为快速调查和以高水平响应此类事件做好准备。
依赖项中的依赖关系
受影响依赖项的模糊性是关键挑战。开源组件中的漏洞的普遍难题和挑战是,大多数漏洞不会影响软件开发人员直接使用的组件(也就是依赖项)。取而代之的是,这些漏洞会影响开发人员使用的依赖项的依赖关系,这也使得开发人员很难评估漏洞对于其开发的软件是否真的很重要。在 Log4Shell 的案例中,Log4j 的流行是漏洞威胁的重要核心,可怕的是你可以在任何地方找到它。
更重要的是,Log4Shell 漏洞可能会影响为直接暴露于 Internet 的系统,攻击者可以将触发漏洞的恶意字符串或文本提交到一个系统,然后通过不同的数据库和系统传播,直到漏洞利用组织网络深处易受攻击的系统。Log4j 揭示了一个非常严峻的问题,即响应广泛存在的漏洞的费用通常比漏洞本身影响更大。
安全检查刻不容缓
在近期的一篇博客文章中(见参考链接2)指出,平均每个企业都有超过40000个由开发人员直接下载的开源依赖项,而每个依赖项平均会带来77个其他的依赖项!这就会导致大规模且无法控制的依赖蔓延,同时也潜在地增加了企业攻击面。更重要也更令人担忧的是,企业中的安全团队通常对代码的使用位置和方式了解甚少,因此当漏洞被披露的时候,确定企业使用受到影响就像大海捞针一样难。
因此建议企业在应对此类问题的时候,可以尝试执行静态代码分析(SAST),以检查是否可以在特定软件的上下文中触发某些开源组件中包含的易受攻击的代码,不论这些易受攻击的组件在错综复杂的依赖关系中藏的多隐秘。
参考链接:
漏洞评分高达9.8分!Text4Shell 会是下一个 Log4Shell吗?的更多相关文章
- 笔记︱金融风险控制基础常识——巴塞尔协议+信用评分卡Fico信用分
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...
- 微信小程序 - 五星评分(含半分)
转载自:http://blog.csdn.net/column/details/13721.html 演示: 下载:小程序-星级评论.zip
- 漏洞经验分享丨Java审计之XXE(下)
上篇内容我们介绍了XXE的基础概念和审计函数的相关内容,今天我们将继续分享Blind XXE与OOB-XXE的知识点以及XXE防御方法,希望对大家的学习有所帮助! 上期回顾 ◀漏洞经验分享丨Java ...
- js解决千分符问题[收藏下]
//js数字千分符处理 function commafy(num) { num = num + ""; var re = /(-?\d+)(\d{3})/ while (re.te ...
- hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others) ...
- 分库分表的情况下生成全局唯一的ID
分库分表情况下 跨库的问题怎么解决? 分布式事务怎么解决? 查询结果集集合合并的问题? 全局唯一的id怎么解决? 一般要求:1.保证生成的ID全局唯一,不可重复 2.生成的后一个Id必须大于前一个Id ...
- PHP获取指定分钟数的下一个整数倍
2019-6-11 11:51:03 星期二 情景: 要定时发送邮件, 邮件数据入表时就记录下其待发送时间, 然后crontab是每分钟扫描邮件表, 找出当时那一分钟需要发送的邮件 举例: 假如有一种 ...
- WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)
0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...
- Web漏洞总结: OWASP Top 10
本文原创,更多内容可以参考: Java 全栈知识体系.如需转载请说明原处. 开发安全 - OWASP Top 10 在学习安全需要总体了解安全趋势和常见的Web漏洞,首推了解OWASP,因为它代表着业 ...
- 精通C#(第6版)
<精通C#(第6版)> 基本信息 原书名:Pro C# 5.0 and the .NET 4.5 framework,sixth edition 作者: (美)Andrew Troelse ...
随机推荐
- Util应用框架核心(二) - 启动器
本节介绍 Util 项目启动初始化过程. 文章分为多个小节,如果对设计原理不感兴趣,只需阅读基础用法部分即可. 基础用法 查看 Util 服务配置,范例: var builder = WebAppli ...
- 特殊符号传到后端发生变异 & "<>
业务遇到bug,前端传回数据 & ,到后台接收到的数据就是 & 后台接收到的数据就携带了amp;的后缀 网上查找原因,大部分说法是前端传回的数据导致,但是实际并不是,这里是框架的正则过 ...
- animate.css 动画种类(详细)
作者:WangMin 格言:努力做好自己喜欢的每一件事 以下为各种动画类型包含的不同动画效果类,仅供参考.具体可查看animate.css 官网. bounce 弹跳 2. flash 闪烁 3. p ...
- SQL改写案例4(开窗函数取中位数案例)
周总找我问个报表SQL实现逻辑的案例,废话不说给他看看. 原SQL: SELECT d.tname 姓名, d.spname 岗位, d.sum_cnt 报单单量, d.min_cnt 放款单量, d ...
- NPOI获取Excel文件里的形状/图片的坐标/锚点
有个妹纸找我请教如何获取图片坐标,因此我到家后花了点时间,写了这份代码. 实测下来,可以正确获取 Excel 2003 版本的形状和图片这两种的坐标/锚点,以及 Excel 2007 版本的图片的坐标 ...
- 搭建 MongoDB (v6.0) 副本集记录
副本集概述 副本集(Replica Set)是一组带有故障转移的 MongoDB 实例组成的集群,由一个主(Primary)服务器和多个从(Secondary)服务器构成.通过Replication, ...
- 黑客玩具入门——2、Kali常用命令与简单工具
一.Linux常用命令 首先,我们启动kali系统,然后点击这里的命令行工具. 就可以使用下面学习的命令了,另外,如果你有过计算机基础,那么Mac的terminal和Git的gitbash,都是可以练 ...
- [AI]生物本能vs机器人工程:谁才有“意识”?
[AI]生物本能vs机器人工程:谁才有"意识"? 引子 我们已经就人类意识的初级形式和高级形式进行了初步探讨.通过对比分析,我们将初级意识定义为可以无需高级意识参与的本能反应.而高 ...
- 使用C++和QT实现Log自定义日志系统
MyLog 说明 使用QT的qInstallMessageHandler函数结合qDebug,qInfo实现自定义的日志系统 输出日志到文件和控制台 自动检测日志文件大小 自动更新日志文件修改日期 自 ...
- LLM面面观之LLM复读机问题及解决方案
1. 背景 关于LLM复读机问题,本qiang~在网上搜刮了好几天,结果是大多数客观整理的都有些支离破碎,不够系统. 因此,本qiang~打算做一个相对系统的整理,包括LLM复读机产生的原因以及对应的 ...