Astro 修复 JSX/MDX 渲染中 script/style 内容未转义导致的反射与存储 XSS
Astro 发布安全通告,指出 JSX 与 MDX 渲染管线对 script、style 元素的动态字符串子节点未做转义,攻击者可控值可提前闭合元素并注入任意 HTML 与 JavaScript,造成反射或存储 XSS。
Astro 发布安全通告,指出 JSX 与 MDX 渲染管线对 script、style 元素的动态字符串子节点未做转义,攻击者可控值可提前闭合元素并注入任意 HTML 与 JavaScript,造成反射或存储 XSS。
Storybook 发布安全通告,指出 dev server 会把 WebSocket 认证 token 暴露给任何能加载其 HTML 页面的客户端,同一局域网内的主机可通过 IP 访问并取得该 token,进而向 story 文件注入代码或创建新文件,在特定条件下可在开发者机器上执行代码。
GitHub 安全公告披露 toml-node 的 toml.parse() 在处理十六进制、八进制、二进制和十进制整数字面量时,未先限制数字串长度就直接调用 BigInt(),导致超线性耗时。
GitHub 安全公告指出 npm 包 toml(BinaryMuse/toml-node)的 toml.parse() 在处理超长点分键、表头或内联表键时存在 O(n²) 复杂度问题,v5.0.0 仍受影响且尚未修复。
toml-node 的 toml.parse() 存在二次复杂度(O(n²))DoS:lib/compiler.js 的 addTableArray() 每遇到一个 [[name]] 头都会全量重扫两个记账 Set 且不清理无关条目。
toml-node 5.0.0 中,用 toml.parse() 解析一份四行 TOML 文档即可把属性写入 Object.prototype,该属性对进程内所有对象可见。
为什么值得看:文章给出可运行的 TOML 文档与脚本,说明 5.0.0 仍可经 Date 原型链污染 Object.prototype。
fastify 发布通告,指出 headers schema 在编译前只把属性键位置的头部名转小写,propertyNames 子 schema 中 enum 与 const 里的头部名未被归一化,导致以标准大小写书写的头部名拒绝列表无法匹配小写请求头,被禁止的头部仍可到达处理函数。
为什么值得看:通告说明这是 CVE-2026-84428 修复不完整留下的缺口,并给出 5.12.6 升级与两种规避写法。
GitHub 安全公告库发布 Next.js 通告,指出使用 App Router 与 Cache Component 的应用若存在返回多个 typed array 的 use cache 函数,可导致远程代码执行。通告称此类受影响应用没有已知规避方案,即使应用不含类似函数也建议立即升级。
为什么值得看:通告说明使用 App Router 与 Cache Component 且 use cache 函数返回多个 typed array 的应用存在 RCE 风险,且无规避方案。
Nuxt 通告指出,routeRules 的键与原始请求路径比较时未解码百分号编码,而路由解析会解码参数,因此对动态或通配路由发起的编码路径请求可跳过 appMiddleware 等规则,无需认证与用户交互。
为什么值得看:通告说明了动态与通配路由下 appMiddleware 被百分号编码绕过的条件,并给出修复版本与页面级中间件的规避方案。
Nuxt 披露 GHSA-934w-87qh-qr26(CVE-2026-53722)修复不完整:在 pages 禁用(pages 为 false、无 pages/ 目录)的应用中,将不受控输入绑定到 :to 时,以 ASCII C0 控制字符(如 %01)前缀的 javascript: URL 会被当作内部路由绕过协议检查,点击后在本域执行脚本。
Nuxt 的 server islands 在渲染 useHeadSafe 输入时未做净化,影响 nuxt >=3.13.0(引入 server islands head 支持的版本),Nuxt 2 不受影响。
Nuxt 发布通告,指出在默认 router.options.sensitive: false 下页面路由不区分大小写,而服务器端路由规则由 Nitro 匹配器按大小写敏感解析,导致 /Admin 这类大小写变体路径跳过 redirect、headers、proxy、ssr: false 等规则。
为什么值得看:通告说明大小写变体路径会跳过 redirect、headers 等服务器端路由规则,并给出 Nuxt 3 无修复的处置建议。
GitHub 安全公告披露 @graphql-tools/utils 的 mergeIncrementalResult 存在原型污染,攻击者可用数组形式的 path 段绕过 __proto__ 等键名检查,向 Object.prototype 写入任意属性。
为什么值得看:报告给出可运行复现与 npm 各版本实测差异,说明非原始类型 path 段如何绕过键名检查写入 Object.prototype。
Astro 的 View Transitions CSS 生成器未将字符串动画属性限制在生成的声明内,攻击者可控数据进入 duration 等属性时可注入 CSS。
GitHub 安全公告 GHSA-jj87-hc4r-jwfw 指出,npm 包 stream-json 的 FlexAssembler 在规则 filter 为字符串或 RegExp 时,每次容器开始都会对完整 keyStack 执行 join,嵌套深度 D 的文档产生 O(D^2) CPU 开销,约 96 KB(深度 16000)的输入可阻塞事件循环超过 1 秒。
为什么值得看:通告说明 stream-json 的 FlexAssembler 在字符串或 RegExp 过滤规则下存在平方级 CPU 消耗,并给出 maxDepth 默认 1024 的修复。
GitHub 安全公告指出,使用 App Router 且至少启用一个 Server Action 的 Next.js 应用,在收到构造请求后会出现 CPU 占用过高,阻塞同一进程内后续请求的处理。除升级外没有其他规避方案;使用 Pages Router 或未使用 Server Actions 的应用不受影响。
GitHub 安全公告指出,Next.js 用于图像优化的上游库存在内存相关漏洞,当 Next.js 运行在基于 glibc 的 Linux 上时可能导致 RCE。规避方案是确保 Next.js 使用的 sharp 版本大于或等于 0.35.5,全新安装会自动获得修复版本,升级 Next.js 到已修复版本也能让包管理器自动提供修复后的 sharp。
为什么值得看:通告说明 Next.js 图像优化依赖的上游库存在内存问题,并给出 sharp 版本与升级两条规避路径。
Sentry-JavaScript SDK 的 tunnelRoute 选项会让 SDK 对隧道路径下的所有请求跳过中间件,而 rewrite 只处理隧道路径本身带 o 和 p 参数的请求,落在两者差距内的请求会进入应用且不经过中间件。
Nodemailer 的 DKIM 签名在展开 RFC 5322 头部续行时,每轮都对不断增长的合并行重新执行 `/^[ \t]/` 正则测试,导致 O(n^2) CPU 开销。
GitHub 安全公告指出,启用 cacheComponents: true 时,若一个 use cache 函数调用另一个读取 root param 的 use cache 函数,且内层调用命中已有缓存条目,外层函数的缓存键会遗漏该 root param,导致同一份响应被复用于所有 root param 值。
为什么值得看:通告说明启用 Cache Components 后嵌套 use cache 函数的缓存键会漏掉 root param,导致跨值内容串用,且无规避方案。
ip-address 的 `new Address6()` 与 `Address6.isValid()` 在应用 45 字符长度限制前先用 `/%.*$/` 剥离 zone 标识符,大量 `%` 后接行终止符时正则从每个 `%` 重试,拒绝耗时随长度平方增长。
Sploitus 收录了 GitHub 仓库 alexandre-briongos-wavestone/react-cve-2025-55182-lab,提供 React CVE-2025-55182 的 Docker 靶场搭建步骤与一条完整 curl 利用请求。
同一件事,精选收录的是《React2Shell PoC 公开:React Server Components CVE-2025-55182 免认证 RCE 利用工具》
GitHub 仓库公开了针对 React Server Components(RSC)远程代码执行漏洞 CVE-2025-55182 的扫描器,基于 Python 3 编写,依赖 requests 与 tqdm。
同一件事,精选收录的是《React2Shell PoC 公开:React Server Components CVE-2025-55182 免认证 RCE 利用工具》
有人公开了 CVE-2026-111497 的 PoC,该漏洞位于 Node.js 内置 Brotli 库的 deps/brotli/c/dec/decode.c,影响 Node.js < 22.23.4、< 24.22.1、< 26.12.1,修复版本为 22.23.4、24.22.1、26.12.1。
为什么值得看:公开了针对 Node.js 内置 Brotli 解码器越界写漏洞的完整 Docker 复现环境与 PoC 脚本,可对照验证补丁前后的行为差异。
作者发布 CVE-2025-55182 的 PoC 工具 react2shell-poc,该漏洞是 React Server Components 中的免认证 RCE,CVSS 评分 10.0,成因是 React Flight 协议反序列化器中的原型污染。
为什么值得看:PoC 给出 React Server Components 免认证 RCE 的完整利用命令,并说明用 NEXT_REDIRECT 错误回显输出的取巧方式。
Node.js 于 10 月 21 日为 22.x、24.x、26.x 三条支持线发布安全更新,修复 10 个漏洞,其中 Brotli 解码器越界写 CVE-2026-111497 被项目描述为可导致远程代码执行,评级为 high。
为什么值得看:通告列出 10 个修复项与各版本对应关系,并交代 Brotli 漏洞的公开 PoC 仅在削弱构建上达成代码执行。
Sploitus 收录的 CVE-2026-44578 利用说明称,自托管 Next.js 应用存在高危 SSRF,攻击者可通过构造 WebSocket Upgrade 请求让服务器向内部 API、云元数据端点和管理接口发起请求,CVSS 为 8.6。
为什么值得看:材料给出受影响版本区间、恶意 WebSocket 升级请求样例与日志检测思路,可对照排查自托管 Next.js 部署。
OpenSSF 恶意包库更新 MAL-2026-18091,将 npm 包 @platform-services/hrm-mfe-core 99.9.1 标记为恶意,CWE 归类为 CWE-506 嵌入式恶意代码。
OpenSSF 恶意包库通过 Ingest OSV 提交新增 5 个 npm 恶意包记录,均由 Amazon Inspector 发现。
为什么值得看:这批 npm 恶意包覆盖安装期远程拉取、仿冒 Anthropic 域名窃取密钥与 GYP 命令扩展执行三类手法,可对照排查自有依赖。
研究者公开 CVE-2026-111497 的可复现 PoC,针对 Node.js 所用 Brotli 解码器的内存破坏问题,脚本会拉取两个指定 Brotli 提交并在固定 Clang 容器中构建验证。
VulnCheck 公开了 CVE-2025-55182 React2Shell 漏洞的部分初始访问情报利用工件,其中包含一个针对 Next.js 的内存 webshell 变体。这些组件基于 go-exploit 框架构建,可用 make 编译为 linux-amd64 二进制或 docker 镜像,示例运行中通过上传 webshell 执行 id 命令并返回 uid=0(root)。
为什么值得看:公开的利用工件包含可编译的内存 webshell,可用于验证 Next.js 部署是否受 React2Shell 影响。
作者在隔离实验环境中复现了 React Server Components 的不安全反序列化漏洞 CVE-2025-55182(CVSS 10.0,向量 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H),向 /rsc 端点发送带 cmd 字段的 JSON 即可在无需认证、无需交互的情况下执行命令。
OpenSSF 恶意包库新增记录 MAL-2026-18178,指出 npm 包 event-emitter-testmetest 由账号 testnewtestme2 于 2026-10-21 发布,先用于测试 data-pipeline-testmetest 2.0.1 的投递链路,随后用于投放该窃密程序。
同一件事,精选收录的是《OpenSSF 恶意包库记录 npm 包 event-emitter-testmetest 多个版本投递窃密载荷》
OpenSSF 恶意包库新增记录,npm 账号 testnewtestme2 于 2026-10-21 发布的 event-emitter-testmetest 1.0.6、1.0.7、4.1.0、5.0.0 携带恶意代码,CWE-506。
为什么值得看:记录给出了恶意 npm 包的版本、隐藏安装钩子与各版本载荷差异,便于开发者比对依赖与文件哈希。
OpenSSF 恶意包库更新 MAL-2026-18100,记录 npm 包 [email protected] 在 install 脚本中用 curl 将 GITHUB_TOKEN 拼入 webhook.site 地址外传。
OpenSSF 恶意包库新增 npm 包 [email protected] 的恶意报告,标记为 CWE-506 嵌入式恶意代码。
ApostropheCMS 的 `@apostrophecms/import-export` 模块导出内容时,文件名由站点 shortName、文档类型和 `YYYYMMDDHHmmss` 时间戳组成,无随机令牌,任何人猜到路径即可在文件存续期内通过未认证 HTTP GET 下载完整导出包。
@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 仓库。该代码声明仅用于安全研究与学习目的,未经授权对系统或网络使用属违法行为。