跳到正文
10月21日周三
  1. GitHub 安全公告库 (GHSA)60

    ApostropheCMS 的 uploadfs 本地存储存在路径穿越,可任意读写删文件

    GitHub 安全公告 GHSA-gmfx-5g6x-rr72 指出,ApostropheCMS 的 uploadfs 库本地存储后端不校验用户传入路径,prefixPath() 只去掉双斜杠,后端直接拼接 uploadsPath + path,攻击者可用 ../ 逃逸上传目录,实现任意文件读取、写入和删除。

    为什么值得看:公告给出 uploadfs 本地存储路径拼接缺陷的成因与可复现请求,并附修复校验思路,便于自查上传接口。

  2. GitHub 安全公告库 (GHSA)58

    MCP TypeScript SDK 跨源重定向泄露请求头与 OAuth 凭据,1.32.0 与 2.3.0 修复

    GitHub 安全公告指出,@modelcontextprotocol/sdk 1.31.0 及之前所有版本、@modelcontextprotocol/client 2.0.0 至 2.2.0 的 HTTP 客户端传输与 OAuth 请求会跟随任意源的重定向。

    为什么值得看:公告说明了跨源重定向会泄露自定义请求头与 OAuth 凭据,并给出受影响版本区间和升级版本,便于使用该 SDK 的开发者核对。

  3. GitHub 安全公告库 (GHSA)58

    @angular/router 在 SSR 下因 RouterLink 保留查询参数存在 DoS 漏洞,22.2.1 与 21.2.25 已修复

    GitHub 安全公告指出,@angular/router 在 Node.js 上启用 SSR 且 RouterLink 使用 queryParamsHandling: 'merge' 或 'preserve' 时存在 DoS 漏洞,未认证远程攻击者可用并发请求耗尽 Node.js old-space 堆并导致 worker 崩溃。

    为什么值得看:通告给出了触发条件、受影响版本区间与修复版本,使用 Angular SSR 的团队可据此判断是否需要升级或加查询串长度限制。

  4. GitHub 安全公告库 (GHSA)58

    follow-redirects 数组形式 headers 绕过跨域凭据剥离,影响 1.15.11 与 1.16.0

    follow-redirects 在跟随跨域或协议降级重定向时,本应移除 Authorization、Proxy-Authorization、Cookie 及调用方声明的 sensitiveHeaders。

    为什么值得看:公告指出数组形式 headers 会让跨域凭据剥离静默失效,并给出可复现脚本与修复思路,便于使用该库的 Node.js 项目自查。

  5. GitHub 安全公告库 (GHSA)42

    ApostropheCMS 的 sanitize-html 因隐式闭合提前结束 nonTextTags 丢弃区,导致内容被渲染

    ApostropheCMS 使用的 sanitize-html 在处理 nonTextTags 时忽略 htmlparser2 传入的 isImplied 标志,从内部闭合仍未关闭的祖先元素会提前结束丢弃区,使本应被丢弃的内容被渲染。问题位于 index.js 的 onclosetag 处理逻辑(:638、:644),修复建议是隐式闭合不得结束丢弃区。

  6. GitHub 安全公告库 (GHSA)32

    ApostropheCMS @apostrophecms/page 模块 move() 同父级重排绕过 create 授权(CWE-862/CWE-639)

    ApostropheCMS 的 @apostrophecms/page 模块 move() 在跨父级移动时才校验目标父级的 create 权限,同父级重排会短路该检查,低权限编辑者可重排受限父级下其他子页面的 rank。该缺陷属 CWE-862/CWE-639,仅影响同级排序,不泄露字段内容也不影响可用性,且需管理员预先将可编辑页面置于受限父级下这一非默认树结构。

  7. GitHub 安全公告库 (GHSA)58

    ApostropheCMS 跨域会话令牌置于 URL 可致会话接管

    GitHub 安全公告 GHSA-hhvr-8m24-qqr3 指出,ApostropheCMS 的跨域会话迁移把一次性会话令牌作为 URL 查询参数 `?aposCrossDomainSessionToken` 下发并存入 Mongo 缓存,任何拿到该令牌的客户端无需凭证即可继承目标用户的完整会话(含 `passport.user`)。

    为什么值得看:公告给出可复现的 curl 步骤,说明跨域会话令牌放在 URL 查询参数里如何被无凭证客户端直接接管会话。

  8. GitHub 安全公告库 (GHSA)58

    ApostropheCMS 页面 REST API 授权绕过漏洞,匿名可读取私有页面

    GitHub 安全公告披露 ApostropheCMS 核心页面 REST API 存在授权绕过,getOne 与 all=1 树形导出使用 .permission(false),绕过页面类型的 viewRole、visibility: private 和 visibility: loginRequired 检查。

    为什么值得看:公告给出了匿名读取私有页面的 curl 复现步骤,并指出 getOne 与 all=1 两处缺少权限校验的代码位置。

  9. GitHub 安全公告库 (GHSA)58

    ApostropheCMS import-export 存在 NoSQL 注入,update-key 值可匹配并覆盖未指定文档

    GitHub 安全公告披露 @apostrophecms/import-export 的 update-by-key 功能存在 NoSQL 注入:导入文档的 `slug:key` 值被直接用作 MongoDB 查询值,归档经 EJSON 解析后 `{ $ne: null }` 等操作符会成为有效值,从而匹配并覆盖导入者并未指定的既有文档。

    为什么值得看:公告说明该模块的 update-key 查询值未经清洗,并给出与 GHSA-79qf-vqgc-7xx3 同类的修复思路,便于开发者对照自查。

  10. Sploitus 利用聚合85

    Next.js RSC 反序列化 RCE 漏洞 CVE-2025-66478 的 PoC 与 Docker 演示环境公开

    GitHub 项目 wangxso/CVE-2025-66478-POC 公开了针对 Next.js 的 CVE-2025-66478 概念验证脚本 exploit.js,该漏洞源于 React Server Components Flight 协议的不安全反序列化,CVSS 评分 10.0,未经身份验证的攻击者可通过特制 HTTP 请求执行任意 JavaScript 代码。

    为什么值得看:公开的 PoC 脚本与 Docker 演示环境,可用于验证 Next.js App Router 部署是否受该反序列化 RCE 影响。

10月20日周二
  1. GitHub 安全公告库 (GHSA)58

    Hono 的 serveStatic 二次解码请求路径,导致静态路径中间件被绕过

    GitHub 安全公告指出,Hono 在路由前已解码一次请求路径,serveStatic 解析文件前又解码一次,构造畸形百分号编码序列可让路由匹配编码形式、实际却解析到真实目录,从而绕过挂载在静态前缀上的中间件。文件仍在配置的根目录内解析,并非目录穿越;仅提供公开文件的应用不受影响。

    为什么值得看:公告说明了二次解码导致静态路径中间件被绕过的条件,挂载鉴权中间件的应用可据此判断是否受影响。

  2. GitHub 安全公告库 (GHSA)58

    Angular 修复 @angular/router 在 SSR 下的拒绝服务漏洞,影响 20.3.33 之前版本

    GitHub 安全公告披露 @angular/router 在 Node.js 上启用 SSR 时存在拒绝服务问题,路由匹配未校验 URL 中的辅助 outlet 段是否对应已配置路由。

    为什么值得看:通告列出了触发该 DoS 的路由配置条件与受影响版本,并给出中间件拦截正则,便于 SSR 部署方自查。

10月14日周三
  1. SonarSource 安全研究22

    Sonar 新 JS/TS 引擎:以语义而非语法追踪真实漏洞

    Sonar 推出新的 JavaScript/TypeScript 静态分析引擎,基于抽象解释的数据流分析追踪污点值能否从 source 到达 sink,而非匹配语法树形状。该引擎在分析过程中解析调用目标,可处理解构、跨模块 import、模板字面量插值等真实代码结构。文中以 FlowiseAI 的 routes/oauth2/index.ts 回调为例演示其能力。

10月8日周四