安全更新
Node.js 漏洞直接影响 Express。因此,请关注 Node.js 漏洞并确保您使用的是 Node.js 的最新稳定版本。
以下列表枚举了在指定版本更新中修复的 Express 漏洞。
注意
如果您认为您在 Express 中发现了安全漏洞,请参阅安全政策和程序。
4.x
- 4.21.2
- 依赖项
path-to-regexp
已更新以解决一个漏洞。
- 依赖项
- 4.21.1
- 依赖项
cookie
已更新以解决一个漏洞。如果您使用res.cookie
,这可能会影响您的应用程序。
- 依赖项
- 4.20.0
- 4.19.0, 4.19.1
- 修复了
res.location
和res.redirect
中的开放重定向漏洞(公告,CVE-2024-29041)。
- 修复了
- 4.17.3
- 依赖项
qs
已更新以解决一个漏洞。如果使用了以下 API:req.query
、req.body
、req.param
,这可能会影响您的应用程序。
- 依赖项
- 4.16.0
- 依赖项
forwarded
已更新以解决一个漏洞。如果使用了以下 API:req.host
、req.hostname
、req.ip
、req.ips
、req.protocol
,这可能会影响您的应用程序。 - 依赖项
mime
已更新以解决一个漏洞,但此问题不影响 Express。 - 依赖项
send
已更新以提供针对 Node.js 8.5.0 漏洞的保护。这仅影响在特定 Node.js 8.5.0 版本上运行 Express。
- 依赖项
- 4.15.5
- 4.15.3
- 依赖项
ms
已更新以解决一个漏洞。如果将不受信任的字符串输入传递给以下 API 中的maxAge
选项:express.static
、res.sendfile
和res.sendFile
,这可能会影响您的应用程序。
- 依赖项
- 4.15.2
- 依赖项
qs
已更新以解决一个漏洞,但此问题不影响 Express。更新到 4.15.2 是一个好习惯,但并非解决此漏洞的必需操作。
- 依赖项
- 4.11.1
- 修复了
express.static
、res.sendfile
和res.sendFile
中的根路径泄露漏洞
- 修复了
- 4.10.7
- 修复了
express.static
中的开放重定向漏洞(公告,CVE-2015-1164)。
- 修复了
- 4.8.8
- 修复了
express.static
中的目录遍历漏洞(公告,CVE-2014-6394)。
- 修复了
- 4.8.4
- 在某些情况下,Node.js 0.10 会泄露影响
express.static
和res.sendfile
的文件描述符 (fd
)。恶意请求可能导致文件描述符泄露,并最终导致EMFILE
错误和服务器无响应。
- 在某些情况下,Node.js 0.10 会泄露影响
- 4.8.0
- 查询字符串中具有极高索引的稀疏数组可能导致进程内存不足并使服务器崩溃。
- 极端嵌套的查询字符串对象可能导致进程阻塞并使服务器暂时无响应。
3.x
Express 3.x 已终止生命周期且不再维护
自上次更新(2015 年 8 月 1 日)以来,3.x 中已知和未知的安全和性能问题均未得到解决。强烈建议使用最新版本的 Express。
如果您无法升级到 3.x 以上版本,请考虑商业支持选项。
- 3.19.1
- 修复了
express.static
、res.sendfile
和res.sendFile
中的根路径泄露漏洞
- 修复了
- 3.19.0
- 修复了
express.static
中的开放重定向漏洞(公告,CVE-2015-1164)。
- 修复了
- 3.16.10
- 修复了
express.static
中的目录遍历漏洞。
- 修复了
- 3.16.6
- 在某些情况下,Node.js 0.10 会泄露影响
express.static
和res.sendfile
的文件描述符 (fd
)。恶意请求可能导致文件描述符泄露,并最终导致EMFILE
错误和服务器无响应。
- 在某些情况下,Node.js 0.10 会泄露影响
- 3.16.0
- 查询字符串中具有极高索引的稀疏数组可能导致进程内存不足并使服务器崩溃。
- 极端嵌套的查询字符串对象可能导致进程阻塞并使服务器暂时无响应。
- 3.3.0
- 不支持的方法覆盖尝试的 404 响应易受跨站点脚本攻击。