Babel 插件任意代码执行漏洞漏洞【Poc公开】
漏洞描述
Babel 是开源的 JavaScript 编译器。
当使用依赖 path.evaluate() 或 path.evaluateTruthy()方法的插件编译攻击者可控的代码时将会执行恶意代码,以下插件受影响:
-
@babel/plugin-transform-runtime
-
@babel/preset-env(当使用 useBuiltIns 选项时)
-
任何依赖于 @babel/helper-define-polyfill-provider 的 polyfill provider 插件,包括: babel-plugin-polyfill-corejs3、babel-plugin-polyfill-corejs2、babel-plugin-polyfill-es-shims、babel-plugin-polyfill-regenerator、babel-plugin-polyfill-custom
@babel/下的其他插件不受影响, 但可能存在受影响的第三方插件。
| 漏洞名称 | Babel 插件任意代码执行漏洞漏洞【Poc公开】 |
|---|---|
| 漏洞类型 | 不完整的黑名单 |
| 发现时间 | 2023-10-13 |
| 漏洞影响广度 | 广 |
| MPS编号 | MPS-avb9-j50z |
| CVE编号 | CVE-2023-45133 |
| CNVD编号 | - |
影响范围
@babel/traverse@(-∞, 7.23.2)
@babel/traverse@[8.0.0-alpha.0, 8.0.0-alpha.4)
node-babel@(-∞, 6.26.0+dfsg-3+deb10u1)
node-babel@影响所有版本
node-babel7@(-∞, 7.20.15+ds1+~cs214.269.168-5)
修复方案
如果无法升级 @babel/traverse ,请将可触发漏洞的组件升级至安全版本: @babel/plugin-transform-runtime v7.23.2 @babel/preset-env v7.23.2 @babel/helper-define-polyfill-provider v0.4.3 babel-plugin-polyfill-corejs2 v0.4.6 babel-plugin-polyfill-corejs3 v0.8.5 babel-plugin-polyfill-es-shims v0.10.0 babel-plugin-polyfill-regenerator v0.5.3
将组件 node-babel 升级至 6.26.0+dfsg-3+deb10u1 及以上版本
将组件 node-babel7 升级至 7.20.15+ds1+~cs214.269.168-5 及以上版本
升级@babel/traverse到 7.23.2、8.0.0-alpha.4 或更高版本
参考链接
https://www.oscs1024.com/hd/MPS-avb9-j50z
https://nvd.nist.gov/vuln/detail/CVE-2023-45133
免费情报订阅&代码安全检测
OSCS是国内首个开源软件供应链安全社区,社区联合开发者帮助全球顶级开源项目解决安全问题,并提供实时的安全漏洞情报,同时提供专业的代码安全检测工具为开发者免费使用。社区开发者可以通过配置飞书、钉钉、企业微信机器人获取一手的情报。
免费代码安全检测工具: https://www.murphysec.com/?src=osc
免费情报订阅: https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc
