mysql2是适用于Node.js的MySQL客户端库,该库的每周下载量超过200万次。
2024年4月24日,启明星辰VSRC监测到mysql2中存在一个代码注入漏洞(CVE-2024-21511),其CVSS评分为9.8,目前该漏洞的PoC已公开。
mysql2版本3.9.7 之前存在代码注入漏洞,由于调用本地 MySQL Server日期/时间函数时,对readCodeFor 函数中的 timezone参数清理不当,威胁者可构造恶意timezone参数值在受影响的mysql2客户端中导致远程代码执行。
二、影响范围
mysql2 (npm) < 3.9.7
三、安全措施
3.1 升级版本
目前该漏洞已经修复,受影响用户可更新到mysql2 版本3.9.7。
下载链接:
https://github.com/sidorares/node-mysql2/releases
3.2 临时措施
暂无。
3.3 通用建议
定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
使用企业级安全产品,提升企业的网络安全性能。
加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。
启用强密码策略并设置为定期修改。
3.4 参考链接
https://github.com/sidorares/node-mysql2/pull/2608
https://github.com/sidorares/node-mysql2/commit/7d4b098c7e29d5a6cb9eac2633bfcc2f0f1db713
https://nvd.nist.gov/vuln/detail/CVE-2024-21511