Express 5.3.0 于 10 月 9 日发布,核心是依赖安全修复:qs 升到 ^6.16.0(修复逗号解析中的 arrayLimit 绕过和攻击者控制 isBuffer 导致的 DoS),proxy-addr 升到 ^2.0.8(CVE-2026-90711),body-parser 升到 ^2.3.0(CVE-2026-12590)。CVE 编号建议在 CVE 数据库里核对一遍再做定级。
行为变更:无效 limit 抛错
以前给 body-parser 传一个畸形的 limit 值,会静默关掉大小限制。现在会在初始化时抛错。这意味着传了 10 megs 这种非法字符串的旧代码,升级后启动就崩。
修法很简单
用合法的尺寸字符串,比如 1mb、100kb。顺便检查一遍所有 express.json()、express.urlencoded() 的调用点。
其他几个细节
req.fresh 现在支持 QUERY 请求;res.redirect() 的 HTML 响应体包含了 doctype;默认错误处理器会记录完整错误,包括 Error.cause——这条对排障很有帮助,以前 cause 经常丢;content-disposition v2 不再给 token 安全的文件名加引号,如果有测试断言了精确的响应头字节,会挂。
升级步骤
npm install express@5.3.0 之后立刻跑 npm audit,然后跑一遍集成测试。重点看三类地方:请求体大小限制、重定向响应、错误日志格式。
一个顺带的提醒
Next.js 官方宣布 10 月 14 日有一次带外安全更新,覆盖上游依赖里的三个漏洞(两个 Critical、一个 High),其中两个是九月那次安全发布因上游协调而推迟的。在那之前先锁定当前版本,更新发布后尽快升。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。