近日,国外安全研究团队公布了HAProxy HTTP请求走私(Request Smuggling)漏洞,攻击者可利用该漏洞绕过安全控制,执行未经授权的命令等敏感操作。
漏洞描述
HAProxy是 HAProxy公司的一款开源的TCP/HTTP负载均衡服务器。该服务器提供4层、7层代理,并能支持上万级别的连接,具有高效、稳定等特点。
CVE-2021-40346
HAProxy 2.0 到 2.5 中的htx_add_header()存在整数溢出漏洞,该漏洞可被利用来执行 HTTP 请求走私攻击,允许攻击者绕过安全控制、执行未经授权的命令等敏感操作(具体取决于HAProxy的配置和后端Web服务器配置)。
该漏洞CVSS评分:8.6,危害等级:高危
CVE 编号
CVE-2021-40346
FOFA 查询
影响范围
影响版本 | 修复版本 |
---|---|
HAProxy 2.0 | 2.0.25 |
HAProxy 2.2 | 2.2.17 |
HAProxy 2.3 | 2.3.14 |
HAProxy 2.4 | 2.4.4 |
HAProxy Enterprise 2.0r1 | 2.0r1-235.1230 |
HAProxy Enterprise 2.1r1 | 2.1r1-238.625 |
HAProxy Enterprise 2.2r1 | 2.2r1-241.505 |
HAProxy Enterprise 2.3r1 | 2.3r1-242.345 |
HAProxy Kubernetes Ingress Controller 1.6 | 1.6.7 |
HAProxy Enterprise Kubernetes Ingress Controller 1.6 | 1.6.7 |
HAProxy ALOHA 11.5 | 11.5.13 |
HAProxy ALOHA 12.5 | 12.5.5 |
HAProxy ALOHA 13.0 | 13.0.7 |
根据目前FOFA系统最新数据(一年内数据),显示全球范围内(app="HAPROXY-代理")共有 8,433 个相关服务对外开放。美国使用数量最多,共有 2,362 个;德国第二,共有 1,037 个;法国第三,共有 945 个;日本第四,共有 521 个;中国第五,共有 315 个。
全球范围内分布情况如下(仅为分布情况,非漏洞影响情况)
中国大陆地区上海使用数量最多,共有 29 个;北京第二,共有 22 个;福建第三,共有 21 个;四川第四,共有 20 个;重庆第五,共有 16 个。
修复建议
及时升级到最新安全版本。
临时修复建议:将以下行添加到HAProxy的配置(拒绝具有多个内容长度标题的请求或响应):
frontend myfrontend
http-request deny if { req.hdr_cnt(content-length) gt 1 }
http-response deny if { res.hdr_cnt(content-length) gt 1 }
参考
[1] https://www.haproxy.com/blog/september-2021-duplicate-content-length-header-fixed/
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。