sha.js 是无幸 JavaScript 生态里最常用的轻量级加密库。
它由 Browserify 社区维护,免严体积不足 20 KB,重漏却实现了 SHA-1、洞速SHA-224、无幸SHA-256、免严SHA-384、重漏SHA-512 全系列算法,洞速是无幸 crypto-browserify、webpack、免严web3.js 等数百个流行包的WordPress模板重漏“根依赖”。
而就在前几天,洞速美国 NVD(国家漏洞库)正式发布 CVE-2025-9288,无幸指向 JavaScript 加密库 sha.js。免严

美国 NVD(国家漏洞库)正式发布 CVE-2025-9288

指向 JavaScript 加密库 sha.js。重漏该漏洞被评定为 严重级(CVSS 9.1),影响 每周 1 400 万次下载 的 Node.js 与浏览器端项目,堪称 2025 年波及面最广的前端供应链事件之一。

sha.js 在处理输入时 未校验数据类型与长度,攻击者通过构造畸形对象:
复制{ length: -1 }1.即可触发:
哈希降级 / 碰撞:相同摘要对应不同数据DoS 无限循环:CPU 被瞬间打满私钥恢复:若哈希结果作为随机数 nonce,可反向推导私钥波及面:35 个库 / 框架 / 工具链我们综合 NVD、网站模板GitHub Advisory、npm 依赖树 以及 主流安全媒体 的交叉验证,整理出 35 条 确认受影响的库与场景.
覆盖 Web3、前端、Node 服务、桌面与移动开发全链路。
★15 个高频直接依赖库#
典型受感染版本
备注
1
browserify
≤17.0.0
打包器
2
create-hash
≤1.2.0
被大量加密库二次封装
3
create-hmac
≤1.1.7
HMAC 封装
4
crypto-browserify
≤3.12.0
Web 环境 crypto polyfill
5
crypto-js
≤4.1.1
重新打包 sha.js 旧代码
6
elliptic
≤6.5.4
椭圆曲线运算
7
ethers
≤4.0.47 / 5.6.8
以太坊 JS SDK
8
ganache-cli
≤6.12.2
本地区块链
9
hash.js
≤1.1.7
sha.js 的别名发布
10
keccak
≤3.0.2
以太坊 Keccak 封装
11
merkle-patricia-tree
≤4.2.4
以太坊状态树
12
mocha
≤9.2.2
测试框架(开发依赖)
13
parcel-bundler
≤2.8.3
零配置打包器
14
web3
≤1.7.0
以太坊官方 JS SDK
15
webpack
≤4.46.0 / ≤5.74.0
构建工具
20 个间接或场景级受影响库 / 框架 / 工具链#
包名 / 组件
场景说明
16
@solana/web3.js
Solana 链 JS SDK(历史版本锁定)
17
@truffle/contract
Truffle 测试套件
18
@vue/cli-service
Vue CLI 打包链
19
@angular-devkit/build-angular
Angular CLI
20
@react-native-community/cli
React Native CLI
21
hardhat
以太坊本地开发框架
22
remix-dev
Remix 全栈框架
23
next
Next.js SSR 框架
24
nuxt
Nuxt.js SSR 框架
25
expo-cli
Expo RN 开发工具
26
serverless
Serverless Framework
27
electron-builder
Electron 打包器
28
@babel/preset-env
Babel 转译链
29
jest-environment-jsdom
Jest 测试环境
30
ts-node
TypeScript 运行时
31
lerna
Monorepo 管理
32
gulp-cli
流式构建工具
33
rollup-plugin-node-polyfills
Rollup Node Polyfill
34
vite
Vite 构建工具(部分插件)
35
astro
Astro 静态站点生成器
30 秒自查清单 复制# 1. 查看本机 / CI 是否存在旧版本 npm ls sha.js # 2. 全局搜索 lock 文件 grep -E sha\.js@2\.4\.(1[0-1]|[0-9]) package-lock.json yarn.lock pnpm-lock.yaml # 3. 使用 SCA 工具(推荐) npx audit-ci --moderate1.2.3.4.5.6.7.8. 一键修复方案(复制即用) 复制# 升级到官方修复版 npm install sha.js@2.4.12 --save-exact # 自动修复所有依赖链 npm audit fix --force # 重新构建并测试 npm run build1.2.3.4.5.6.7.8.临时缓解(无法立即升级时):在调用 sha.js 前加入类型校验,仅允许 string 或 Buffer 类型输入。
官方参考链接:
NVD 详情:https://nvd.nist.gov/vuln/detail/CVE-2025-9288GitHub Advisory:https://github.com/browserify/sha.js/security/advisories/GHSA-95m3-7q98-8xr5FreeBuf 深度分析:https://www.freebuf.com/articles/web/445352.html云南idc服务商(责任编辑:域名)