开发WordPress区块编辑器区块时遭遇5个高严重性漏洞求助
WordPress区块开发npm高严重性漏洞修复方案
漏洞分析
审计报告的依赖链问题:
- 核心漏洞源于
ws包的旧版本 puppeteer-core(11.0.0-22.11.1)依赖该漏洞版本的ws@wordpress/scripts(>=20.0.0)和lighthouse(9.6.1-11.5.0)依赖存在漏洞的puppeteer-core@wordpress/e2e-test-utils-playwright(>=0.9.1-next.5a1d1283.0)又依赖存在漏洞的lighthouse
修复步骤
方案1:执行官方建议的破坏性降级
npm提示通过强制修复降级到@wordpress/scripts@19.2.4解决问题,执行命令:
npm audit fix --force
注意:降级后必须测试区块的构建、打包等核心功能,这是破坏性变更,可能导致部分新特性无法使用。
方案2:手动更新依赖到无漏洞版本
若不想降级@wordpress/scripts,可手动指定依赖版本:
- 打开项目根目录的
package.json - 更新
@wordpress/scripts及相关依赖到最新稳定版(或已修复漏洞的版本):{ "devDependencies": { "@wordpress/scripts": "^27.0.0", "@wordpress/e2e-test-utils-playwright": "^0.19.0" } } - 删除旧依赖文件:
rm -rf node_modules package-lock.json - 重新安装依赖:
npm install - 再次运行审计确认修复结果:
npm audit
方案3:使用npm overrides强制修复子依赖
无需降级主依赖,直接强制升级深层子依赖的ws到安全版本:
- 在
package.json中添加overrides字段:{ "overrides": { "ws": "^8.17.0" } } - 重新安装依赖:
npm install
方案4:临时忽略漏洞(仅应急,不推荐)
若当前版本无法变更,可临时忽略开发依赖的漏洞:
npm audit --omit=dev
说明:仅临时规避检测,需尽快完成正式修复,避免长期暴露风险。
内容的提问来源于stack exchange,提问作者peddinti Udaykiran
相关产品推荐
相关产品推荐

