2024年6月4日,网上更新披露了一个mysql2 原型污染漏洞(CVE-2024-21512),mysql2 是基于Node.js开发的 MySQL 驱动库,nestTables 是其中的配置选项,允许用户将 SQL 查询结果中的字段嵌套到对象中,以便更好地处理连接查询等复杂结果集,请各位用户尽快安装漏洞补丁。
漏洞风险:受影响版本中,当 nestTables 设置为下划线(`_`)时,由于未对用户可控的查询参数有效过滤从而存在原型污染漏洞,攻击者可构造恶意查询参数(如`SELECT CAST('{"admin":true}' AS JSON)_proto__;`)修改 Js 对象原型属性,进而远程执行任意代码。补丁版本通过 fieldEscape 方法限制修改对象的私有属性修复此漏洞。
风险等级:高风险。
影响范围:
mysql2@(-∞, 3.9.8)
修复建议:
将组件 mysql2 升级至 3.9.8 及以上版本
进行安全更新方法:
https://github.com/sidorares/node-mysql2/releases