CVE-2025-40900CVE-2025-40900 是Nozomi Networks产品报告功能中发现的一个Angular模板注入漏洞。该漏洞的成因是由于系统对输入参数的验证机制不够完善。攻击者可以利用该漏洞,通过构造包含恶意Angular模板负载的报告文件,诱导经过身份验证的用户查看或导入。一旦受害者在浏览器中加载该报告,嵌入的恶意模板代码将在受害者的浏览器上下文中自动执行。尽管现有的内容安全策略(CSP)和输入验证机制在一定程度上阻止了完全的跨站脚本攻击(XSS)和敏感信息泄露,但攻击者仍可借此修改应用程序数据或破坏服务的可用性。
该漏洞属于客户端模板注入(CSTI)。其核心原理在于应用程序将用户可控的数据直接嵌入到Angular模板中,而未经过滤或转义。Angular框架使用双大括号 `{{}}` 作为表达式插值的标记。当Angular编译器遇到这些标记时,会解析其中的表达式并执行。攻击者利用这一机制,可以在报告参数中注入恶意的JavaScript代码。例如,通过 `{{constructor.constructor('alert(1)')()}}` 这样的Payload,攻击者可以劫持JavaScript的构造函数来执行任意代码。在利用过程中,攻击者首先需要诱导具有查看报告权限的受害者访问包含恶意内容的页面。由于代码是在受害者的浏览器中执行,因此攻击者可以利用受害者的会话凭证进行操作。虽然CSP策略限制了外部脚本的加载和传统的XSS攻击,但Angular的模板引擎本身的特性允许执行某些破坏性操作,如修改DOM结构、发起API请求篡改数据或通过死循环消耗浏览器资源导致拒绝服务。这种攻击方式结合了社会工程学和前端框架的漏洞特征,使得防御变得更加复杂。