从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 背景:作者在10年前接手了 库,并在Express.js 4中使用了它。在过去的8个主要版本中,他们添加、移除和细化了功能。 - 问题发现:在Express 5中,作者发现用户可能包含易受ReDoS(Regular Expression Denial of Service)攻击的正则表达式。这个漏洞从未被公开报道过。 2. 漏洞影响: - 影响范围:任何在斜杠之间使用两个或更多参数的路由,如果第二个参数不以 或 开头,都可能受到ReDoS攻击。 - 示例: 路由的正则表达式 在匹配大量路径时会导致性能问题。 3. 修复措施: - 版本8:作者在版本8中移除了正则表达式功能,因为任何输出的 结果都是可利用的漏洞。 - 版本1:作者在版本1中发布了一个包含自动回溯预防的补丁,但这个补丁并不完美,可能会破坏一些使用边缘情况的路由。 4. 其他缓解措施: - URL长度限制:限制URL长度并抛出413错误。 - 参数长度限制:使用固定长度限制参数。 - RE2库:尝试使用RE2库,但性能表现不佳。 - JavaScript重写:尝试将正则表达式重写为JavaScript,但没有完成。 5. 资源: - 检查工具:提供了一个检查工具来检测漏洞。 - 联系信息:提供了一个联系信息,以便用户在无法升级时寻求帮助。 这些信息详细描述了漏洞的背景、影响、修复措施和缓解措施,以及相关的资源和联系方式。