CVE-2024-21490

ReDoS 漏洞
影响
AngularJS
>=1.3.0
AngularJS
感叹号圆圈图标
补丁可用
HeroDevs 提供的 Never-Ending Support (NES) 版本已修复此漏洞。

复制步骤

Angular 1.3.0 版本开始,可以进行正则表达式拒绝服务(ReDoS)攻击。由于该软件包使用正则表达式来分割 ng-srcset 指令的值,如果恶意行为者精心编写了不安全的正则表达式,就会造成灾难性的回溯并垄断系统资源。StackBlitz 上提供了演示此漏洞的概念验证。

解决问题

AngularJS XLTS/NES 1.9.1 和 1.5.19 版本中提供了对该漏洞的修复;网站所有者应更新至这些版本。

学习与预防

ReDoS 攻击会让目标系统尝试解正则表达式模式匹配,这需要很长时间(从而拒绝为系统的合法用户提供服务)。这是一种拒绝服务 (DDoS) 攻击。

在攻击过程中,正则表达式引擎会执行一系列步骤,试图找到匹配项。其中一些步骤可以很快完成,而另一些步骤,尤其是那些失败的步骤,则需要更长的时间。在这种情况下,当浏览器尝试解析攻击者精心设计的正则表达式时,浏览器可能会花费大量时间返回结果,因为它会回溯尝试其他匹配。

结论

1.9.1 中已包含此漏洞中描述的修复,仍在使用 Angular 1.5 的 HeroDevs AngularJS 永不终止支持客户也可立即使用此修复。如果您希望获得 HeroDevs 永不终止的支持服务,请立即联系我们的销售团队

资源

NIST 2024-21490条目

漏洞详情
身份证
CVE-2024-21490
受影响的项目
AngularJS
受影响的版本
>=1.3.0
≈ 固定日期
2023 年 8 月 1 日
固定在
严重性
类别
ReDoS 漏洞