@vitest/mocker 未认证 mock 注册导致代码注入,5.0.3 与 4.1.12 已修复
@vitest/mocker 的 interceptorPlugin 在 Vite 开发服务器 WebSocket 上接受未认证的 mock 注册,并把 mock 的 url 未转义地插入生成的模块源码,能访问开发服务器端口的非浏览器 WebSocket 客户端可让服务器以任意 JavaScript 替换项目模块,并在开发者浏览器中执行。
@vitest/mocker 的 interceptorPlugin 在 Vite 开发服务器 WebSocket 上接受未认证的 mock 注册,并把 mock 的 url 未转义地插入生成的模块源码,能访问开发服务器端口的非浏览器 WebSocket 客户端可让服务器以任意 JavaScript 替换项目模块,并在开发者浏览器中执行。
GitHub 安全公告指出,Vitest 5 在启用 UI(--ui)、Browser Mode 或 api 时,Vite 的 server.fs.deny 未被按预期应用,能访问该服务器的客户端可通过明文 HTTP 读取 .env、私钥与证书、.npmrc、.git 以及 Vitest 的 API token 文件 .vitest-secret-token。
为什么值得看:通告说明了哪些 Vitest 启动方式会暴露文件、哪些不受影响,并给出显式配置 server.fs.deny 的规避写法。
一份针对 Next.js 漏洞的 PoC 利用代码被公开,使用 Go 语言编写,作者称其灵感来自 github.com/namest504/CVE-2025-66478 仓库。该代码声明仅用于安全研究与学习目的,未经授权对系统或网络使用属违法行为。
GitHub 项目 Least-Significant-Bit 公开了 CVE-2025-55182 的 PoC 利用脚本,成功后可经 HTTP-POST 请求在远程目标上模拟 shell。脚本同时支持 HTTP 与 HTTPS 但不校验证书,目录切换仅支持绝对路径,运行需先安装 requests 依赖。
OpenSSF 恶意包库提交为多个恶意包分配 MAL 编号,包括 npm 上的 @sudobility/indexer_client 0.0.146、@sudobility/shaperouter_client 0.0.14、@sudobility/testomniac_client 0.0.131、@sudobility/wildduck_client 2.3.102。
为什么值得看:提交记录显示 @sudobility 系列 npm 包在 postinstall 中投放 XMRig 挖矿程序,并列出 S3 下载地址与矿池域名等 IOC。
OpenSSF 恶意包库新增两条 npm 恶意包记录:@sudobility/indexer_client 0.0.146 与 @sudobility/shaperouter_client 0.0.14 的 postinstall 钩子执行 scripts/miner.sh,从预签名 S3 URL 下载载荷解压至 /tmp/.smi 并运行。
OpenSSF 恶意包库更新了 npm 包 snavbox 的恶意包记录 MAL-2025-49362,受影响版本在原有 1.0.0、1.0.2、1.0.3 基础上补入 1.0.1。该记录关联 GHSA-ppfj-vpcr-qwqg,归类为 CWE-506 内嵌恶意代码,GHSA 条目以 SEMVER 范围从 0 引入覆盖 1.0.0 至 1.0.3。
OpenSSF 恶意包库新增一条来自 GHSA 的恶意包记录,涉及 npm 生态的 snavbox 包 1.0.0–1.0.3 版本,对应 GHSA-ppfj-vpcr-qwqg,归类为 CWE-506 嵌入式恶意代码。通告称安装或运行该包的机器应视为完全失陷,需在另一台机器上立即轮换全部密钥,仅卸载包无法保证清除恶意软件。
OpenSSF 恶意包库更新 MAL-2026-15604,为 npm 包 @worrisome/reutil 补录别名 GHSA-4f5p-mp5p-863f。
OpenSSF 恶意包库新增两条来自 GHSA 的 npm 恶意包记录,分别为 GHSA-fxf3-w84v-3v6g(@worrisome/aaaa)和 GHSA-4f5p-mp5p-863f(@worrisome/reutil),均归类为 CWE-506 嵌入式恶意代码,影响范围自 0 起的所有版本。
ApostropheCMS 的 @apostrophecms/import-export 3.7.0 中,gzip 解压仍无单条目、解压总字节和条目数量配额,归档解析也先于文档类型授权。
ApostropheCMS 的 @apostrophecms/import-export 3.7.0 中,overrideDuplicates() 续接逻辑仍接受客户端提供的替换选择,未将其绑定到服务端维护的重复分析,替换与写入辅助函数在更新前也未建立统一的资源身份与授权上下文。
ApostropheCMS 的 @apostrophecms/import-export 3.7.0 中,canImportOrExport() 的导入校验只检查类型的导入配置与查看权限,写入辅助函数直接调用 document-manager 的 insert/update,缺少正常发布权限检查与 beforePublish 过渡。
sanitize-html 2.18.0 在默认配置下重新净化被丢弃 iframe 的原始文本时进行无界递归调用,几千字节的未闭合 iframe 标签即可触发 RangeError: Maximum call stack size exceeded。
ApostropheCMS 的颜色字段因 TinyColor.isValid 未在字符串末尾锚定匹配,仅校验字符串是否以合法 rgb()/hsl() 颜色开头,拥有编辑权限的认证用户可在合法颜色前缀后存入任意 HTML,渲染时触发存储型 XSS。该问题与 GHSA-97v6-998m-fp4g 同源,修复校验(要求整串为合法颜色或仅存储 TinyColor 归一化输出)可同时关闭两者。
ApostropheCMS 的公共 REST API 在处理匿名请求时,会先执行 query string 中所有可 launder 的查询构造器,再强制套用 publicApiProjection,而 search 与 sort 这两个构造器作用于底层文档、不受投影限制。
为什么值得看:公告给出可复现的 curl 请求与实测结果,说明 search 与 sort 两个查询构造器如何绕过字段白名单。
GitHub 安全公告指出,ApostropheCMS 的 @apostrophecms/import-export 中 POST /api/v1/@apostrophecms/import-export/clean-export 接口缺少认证与授权检查。
ApostropheCMS 存在存储型 XSS:当项目为 widget 定义带 CSS property 但无 selector 的自由格式 string 样式字段时,编辑器可控值会被拼成内联 CSS 声明,并在未做 HTML 属性转义的情况下写入 widget 包装器的 style 属性。
ApostropheCMS 的页面 REST 接口 GET /api/v1/@apostrophecms/page/:id 未应用 viewRole 类型级限制和 viewPermission 字段级脱敏,而 getAll 接口对两者均正确执行。编辑级用户只要知道文档 _id,即可读取仅限管理员访问的页面全文及受 viewPermission 保护的字段。
GitHub 上公开了针对 CVE-2026-105482 的利用工具,该漏洞源于 Node.js 的 dns.resolve* 把含 NUL 字节的字符串交给 c-ares 按 C 字符串处理,应用层用 endsWith 等做的主机白名单校验因此被绕过,进而形成 SSRF。
为什么值得看:公开的利用工具把 NUL 截断与 DNS 解析的差异串成可运行的 SSRF 链路,并给出检测思路与修复版本。
Vite 的 `?vite-wasm-instance` 查询由内部 Wasm 插件的 `load` 钩子处理,该钩子未应用 `server.fs` 检查,直接读取磁盘文件并尝试按 WebAssembly 解析,解析失败时 Node 与 Deno 的报错会带出文件前 4 字节。
GitHub 安全公告 GHSA-rq7h-c2jc-7f22 指出,Vite 开发服务器在非 Windows 机器上,当项目导入文件的根相对路径与宿主机绝对路径相同时,可把 server.fs.allow 之外的文件内容返回给浏览器,例如 /etc/hosts。
为什么值得看:公告给出了可复现的 curl 步骤,说明非 Windows 环境下 Vite 开发服务器如何把宿主机文件返回给浏览器。
Vite 开发服务器在将未经修改的浏览器请求 URL 传入 server.transformIndexHtml 时存在跨源脚本执行问题,攻击者可构造含 `//` 的路径让生成的模块 src 指向外部域名,从而在 Vite 页面中执行任意 JavaScript。
GitHub 安全公告披露 @apostrophecms/import-export 的分块导入上传路径存在潜在的免认证 DoS 问题,确认受影响版本为 3.6.2,更早的 3.x 版本可能同样受影响但尚未核实。
GitHub 项目 cybertechajju/CVE-2026-23869-Exploit 公开了针对 React Server Components Flight 协议反序列化 DoS 漏洞 CVE-2026-23869 的利用工具,包含 poc.py、Nuclei 检测模板 CVE-2026-23869.yaml 与 Server Action ID 提取脚本。
为什么值得看:公开的利用工具包含自动提取 Server Action ID 与 Nuclei 模板,可用于自查 Next.js 部署是否受该 DoS 影响。
研究者 Joshua van Rijswijk 公开了 tar npm 包漏洞 CVE-2026-29786 的 PoC,构造含 C:../target.txt 这类盘符相对链接目标的归档,可在解压时把硬链接指向解压目录之外。
launch-editor 在 Windows 上存在因参数转义不当导致的任意代码执行漏洞。Red Hat CVE 数据库收录了该问题,具体受影响版本区间与修复版本尚未在通告中给出。
vitest 存在信息泄露漏洞,成因是文件访问限制不当。Red Hat CVE 数据库收录了该问题,但通告未给出 CVE 编号、受影响版本区间、CVSS 分数及修复版本。
Vitest 存在跨站脚本漏洞,成因是 mock 模块 URL 未被转义。Red Hat CVE 数据库收录了该漏洞通告,具体受影响版本区间与修复版本尚未在文中给出。
sanitize-html 被披露存在拒绝服务漏洞,成因是 iframe 标签处理中的无界递归。Red Hat CVE 数据库收录了该问题,原始通告未给出 CVE 编号、受影响版本区间与修复版本。
sanitize-html 存在 HTML 净化绕过漏洞,源于对 noscript 标签的处理不当,可导致过滤后的 HTML 仍保留可执行内容。Red Hat CVE 数据库收录该漏洞,具体受影响版本区间与修复版本尚未在通告中给出。
sanitize-html 被披露存在任意脚本执行漏洞,攻击者可借助带命名空间前缀的 SVG 动画元素绕过过滤。该漏洞影响 sanitize-html 的输入净化逻辑,具体受影响版本区间与修复版本尚未在通告中给出。
GHSA-gfr2-rv44-r23c 指出 markdown-it 15.0.2 在默认配置下处理未闭合的链接引用定义标签或标题时呈 O(n²) 复杂度,属 CWE-407 算法复杂度拒绝服务,该问题由 14.0.0 的 PR #1004 引入。
为什么值得看:公告给出可运行的 PoC 与各版本耗时对比,能帮助用 markdown-it 渲染用户内容的服务判断是否需要限制请求体大小。
GitHub 上公开的 cve-2026-27886-exploit.py 自动化了针对 Strapi 的账号接管链,通过查询参数绕过先验证漏洞,再用布尔盲注枚举管理员邮箱、触发密码重置并窃取 40 字符重置令牌,最终取得 Super Admin JWT。
为什么值得看:公开脚本把 Strapi 账号接管拆成验证、邮箱枚举、重置令牌窃取与提权四步,并附可运行命令与排错说明。
GitHub 安全公告指出,@modelcontextprotocol/sdk 1.3.0 至 1.31.0 与 @modelcontextprotocol/server 2.0.0 至 2.2.0 未限制单次请求校验的数组元素与对象键数量。
为什么值得看:公告给出了受影响版本区间与修复版本,并说明仅升级不生效,需同时配置两个参数才能缓解。
GitHub 安全公告指出,@modelcontextprotocol/server 2.0.0 至 2.2.0 在多个客户端共用同一无状态传输或同一 McpServer、Server 实例时,仅按 JSON-RPC id 匹配连接,而 SDK 客户端从 0 开始编号请求,导致一个客户端的响应和通知被投递给另一个客户端。
为什么值得看:公告说明了共享传输导致消息串流的成因、受影响版本区间,并强调升级后还需改代码才能避免请求失败。
markdown-it 在 `html: true` 下解析段落内重复的未闭合 HTML 构造(注释、`?>`、`>`、`]]>`)时呈二次时间复杂度,`15.0.2` 上 64,000 次重复的注释载荷耗时 8,799 ms,128,000 次重复约 500 KiB 的载荷耗时 32,847 ms。
MCP TypeScript SDK 受影响版本的服务器端 bearer 认证无法校验令牌是否签发给本服务,当同一授权服务器为多个服务签发令牌时,其他服务的有效令牌也会被接受。
为什么值得看:公告说明了受影响版本区间与修复版本,并指出仅升级不生效,需同时配置 expectedResource 与返回 aud 才能挡住其他服务的令牌。
launch-editor 将文件路径未经净化直接传给编辑器,若路径以 `+` 或 `-` 开头,Vim、MacVim、Emacs、Notepad++ 等会将其当作 CLI 参数解析,可能造成文件覆盖或命令执行。
sanitize-html 2.17.7 引入的 animatesUrlAttribute() 在检查 SMIL 动画元素时只比对裸标签名,使用 svg:animate 等命名空间前缀即可绕过,使 animate 的 attributeName 指向 href 并注入 javascript: URI。