
漏洞概述
Angular框架中被发现存在一个高危跨站脚本(XSS)漏洞(CVE-2026-32635/CWE-79),影响@angular/compiler和@angular/core组件包。由于Angular被全球无数企业和消费者Web应用采用,该漏洞可能为威胁行为者提供巨大的攻击面。
漏洞成因
该漏洞源于Angular处理国际化(i18n)安全敏感HTML属性的方式。虽然Angular默认提供强大的内置净化机制来自动清理恶意输入,但当应用为敏感属性启用国际化时,这一关键保护会被绕过。
例如,在锚标签中添加i18n-href会指示框架处理该属性进行翻译。如果开发者同时将不受信任的用户生成数据绑定到该本地化属性,攻击者就能注入恶意脚本。i18n绑定会无意中迫使框架跳过标准安全检查,易受攻击的常见属性包括href、src、action、formaction和data。
利用条件与危害
利用该漏洞需要满足特定条件:目标应用必须运行存在漏洞的Angular版本,并将未净化的用户输入绑定到敏感属性,同时使用i18n-<name>语法标记该值进行国际化。满足这些前提后,攻击者可在受影响应用中执行任意JavaScript代码,导致:
- 会话劫持:窃取会话cookie和身份验证令牌
- 数据泄露:静默捕获敏感用户数据并传输至外部C2服务器
- 未授权操作:强制应用以受害者身份执行管理或破坏性操作
受影响版本与修复方案
Angular团队已为多个发布分支推出安全更新,但部分旧版本仍无官方补丁:
- 22.0.0-next.0至22.0.0-next.3以下版本(22.0.0-next.3已修复)
- 21.0.0-next.0至21.2.4版本(21.2.4已修复)
- 20.0.0-next.0至20.3.18版本(20.3.18已修复)
- 19.0.0-next.0至19.2.20版本(19.2.20已修复)
- 17.0.0-next.0至18.2.14版本(暂无补丁)
最佳防护方案是升级至Angular官方GitHub发布中列出的已修复版本。若无法立即升级,开发团队必须严格确保绑定到易受攻击属性的数据绝不来自不受信任源(如数据库查询、API响应或URL参数)。开发者也可通过Angular的DomSanitizer手动强化安全,在数据绑定到DOM前显式净化,即使国际化绕过被触发也能消除注入脚本威胁。
参考来源:
Angular XSS Vulnerability Exposes Thousands of web Applications to XSS Attacks
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


