TanStack Start 发布安全更新,修复 CVE-2026-102989,是一个 CVSS 9.3 的跨站脚本漏洞。同期的 TanStack 还因为 npm 供应链攻击上了新闻。
9.3 分是什么级别
CVSS 9.0 以上属于 Critical。XSS 能拿到这个分数,通常意味着无需认证、可远程触发、且能完整执行脚本——也就是可以窃取会话、伪造操作、读取页面上的敏感数据。
对全栈框架来说,服务端渲染场景下的 XSS 尤其危险,因为渲染过程可能接触到本不该暴露给客户端的数据。
该做的第一件事:升级
这条不用讨论,直接升到修复版本。
第二件事:找出你还有哪些输入点
升级补丁只修它自己那一个洞。你的代码里可能还有自己的问题。完整过一遍:
URL 参数直接渲染到页面的地方。
用户提交内容回显的地方,包括表单校验失败的回显。
从服务端传递给客户端组件的 props,特别是被 dangerouslySetInnerHTML 消费的那些。
重定向目标的拼接,外部跳转地址如果来自用户输入就是开放重定向。
第三件事:加纵深防御
内容安全策略是第一道。就算有 XSS 注入点,CSP 能挡住大部分脚本执行。至少限制 script-src 到自己的域,禁用内联脚本。
输出编码要统一。别在不同地方用不同的转义函数,容易漏。
Cookie 标记 HttpOnly 和 SameSite,把会话窃取的危害降到最低。
第四件事:重新审视依赖策略
同期的 npm 供应链攻击说明,依赖风险的来源不只是代码漏洞,还有发布环节被劫持。
可行的做法:锁文件固定到具体版本和完整性哈希;关键依赖做来源验证;CI 里不自动接受依赖升级,走人工审查。
一个提醒
安全公告出来之后,真正危险的窗口是「知道了但还没升」的那段时间。补丁公开等于攻击方法公开,别拖。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。