CVE-2024-14020CVE-2024-14020是carboneio/carbone项目中的一个原型链污染(Prototype Pollution)漏洞。该漏洞存在于lib/input.js文件的Formatter Handler组件中,攻击者可以通过构造恶意的输入数据,未经授权地修改JavaScript对象的原型属性。由于Carbone是一个流行的Node.js文档模板引擎,广泛用于生成报告、发票等文档,此漏洞可能影响大量使用该库的企业应用程序。攻击者利用此漏洞可以污染全局Object.prototype,可能导致应用程序行为异常、敏感数据泄露或远程代码执行。值得注意的是,成功利用此漏洞的前提是父级Node.js应用程序本身存在相同的安全问题。
该漏洞属于原型链污染(Prototype Pollution)类型,源于Carbone的Formatter Handler组件对用户输入验证不足。在lib/input.js中,攻击者可以通过操纵输入数据的属性路径,向Object.prototype注入恶意属性。漏洞的利用条件较为苛刻,需要满足以下条件:1) 攻击者能够控制输入数据的结构;2) 应用程序使用不安全的属性合并或赋值操作;3) 父应用程序存在相同的安全缺陷。漏洞影响版本为3.5.6之前的所有版本,修复方案为升级到3.5.6版本(commit: 04f9feb24bfca23567706392f9ad2c53bbe4134e)。该漏洞的利用复杂度较高,CVSS评分5.0,属于中危级别,攻击向量为网络,权限要求低权限,无需用户交互。