从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:Prevent request smuggling #146 - 描述:如果一个请求同时具有content-length和transfer-encoding头部,返回400响应。这是允许的,因为RFC 7230第3.3.3.3节允许这样做。 2. 修复情况: - 状态:已合并 - 提交者:jeremyevans - 提交时间:4天前 - 提交链接:commit d88321da45dcd230ac2b4585cad4833d6d5e8841 3. 修复代码: - 文件:lib/webrick/httprequest.rb - 代码变更: - 添加了检查content-length和transfer-encoding头部的代码。 - 如果同时存在这两个头部,返回400响应。 4. 测试代码: - 文件:test/webrick/test_httprequest.rb - 代码变更: - 添加了测试代码,模拟发送带有content-length和transfer-encoding头部的请求,并验证返回的响应是否为400。 5. 修复范围: - 文件:lib/webrick/httprequest.rb和test/webrick/test_httprequest.rb 这些信息表明,修复了在处理HTTP请求时,同时存在content-length和transfer-encoding头部时的潜在安全漏洞。修复代码通过检查这些头部的存在,并在必要时返回错误响应,来防止潜在的请求 smuggling攻击。