HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
近日,奇安信CERT监测到HAProxy官方发布HAProxy请求走私漏洞(CVE-2023-25725)通告。通过构造特殊的HTTP请求可能导致绕过基于HAProxy的访问控制。由于此漏洞在解析HTTP/1的请求时可能丢弃部分重要的请求头字段,这在特定场景下可导致鉴权绕过等危害。鉴于此产品部署量较大,建议客户尽快做好自查及防护。
漏洞名称 | HAProxy请求走私漏洞 | ||
公开时间 | 2023-02-14 | 更新时间 | 2023-02-16 |
CVE编号 | CVE-2023-25725 | 其他编号 | QVD-2023-4472 |
威胁类型 | 安全特性绕过 | 技术类型 | HTTP请求走私 |
厂商 | HAProxy | 产品 | HAProxy |
风险等级 | |||
奇安信CERT风险评级 | 风险等级 | ||
高危 | 蓝色(一般事件) | ||
现时威胁状态 | |||
POC状态 | EXP状态 | 在野利用状态 | 技术细节状态 |
未公开 | 未公开 | 未发现 | 未公开 |
漏洞描述 | 通过特殊构造的HTTP请求可使HAProxy在解析请求时丢弃部分重要Header字段,如Connection、Content-length、Transfer-Encoding、Host等,导致转发请求时出现非预期行为,如可夹带向服务器发送额外的请求,而该请求不会再次经过HAProxy过滤或检测。基于此漏洞在特定场景下可导致鉴权绕过等危害。 | ||
影响版本 | HAProxy 2.0 < 2.0.31 HAProxy 2.2 < 2.2.29 HAProxy 2.4 < 2.4.22 HAProxy 2.5 < 2.5.12 HAProxy 2.6 < 2.6.9 HAProxy 2.7 < 2.7.3 HAProxy Enterprise 2.0r1 < 2.0r1-1.0.0-248.1534 HAProxy Enterprise 2.2r1 < 2.2r1-1.0.0-254.929 HAProxy Enterprise 2.4r1 < 2.4r1-1.0.0-285.1010 HAProxy Enterprise 2.5r1 < 2.5r1-1.0.0-285.653 HAProxy Enterprise 2.6r1 < 2.6r1-1.0.0-288.770 HAProxy ALOHA 12.5 < 12.5.18 HAProxy ALOHA 13.5 < 13.5.19 HAProxy ALOHA 14.0 < 14.0.11 HAProxy ALOHA 14.5 < 14.5.6 HAProxy Enterprise Kubernetes Ingress Controller 1.7 < 1.7.12 HAProxy Enterprise Kubernetes Ingress Controller 1.8 < 1.8.11 | ||
其他受影响组件 | 无 |
威胁评估
漏洞名称 | HAProxy请求走私漏洞 | |||
CVE编号 | CVE-2023-25725 | 其他编号 | QVD-2023-4472 | |
CVSS 3.1评级 | 高危 | CVSS 3.1分数 | 7.5 | |
CVSS向量 | 访问途径(AV) | 攻击复杂度(AC) | ||
网络 | 低 | |||
所需权限(PR) | 用户交互(UI) | |||
无 | 不需要 | |||
影响范围(S) | 机密性影响(C) | |||
不改变 | 无 | |||
完整性影响(I) | 可用性影响(A) | |||
高 | 无 | |||
危害描述 | 通过构造特殊的HTTP请求可能导致绕过基于HAProxy的访问控制或路由规则。在特定场景下可导致鉴权绕过等漏洞。 |
处置建议
1、目前官方已发布可更新版本,建议受影响用户可参考以下链接更新至对应版本:
https://www.haproxy.com/blog/february-2023-header-parser-fixed/
HAProxy Enterprise用户升级可参考:
https://www.haproxy.com/documentation/hapee/latest/getting-started/upgrade/linux/#update-haproxy-enterprise
HAProxy ALOHA用户升级可参考:
https://www.haproxy.com/documentation/aloha/latest/getting-started/firmware-updates/
将HAProxy Enterprise作为Docker容器用户升级可参考:
https://www.haproxy.com/documentation/hapee/latest/getting-started/upgrade/docker/
2、暂时无法升级的用户,可通过应用以下规则来缓解此漏洞:
frontend myfrontend
http-request denyif { fc_http_major1 } !{ req.body_size0 } !{ req.hdr(content-length) -m found } !{ req.hdr(transfer-encoding) -m found } !{ method CONNECT }
参考资料
[1]https://www.haproxy.com/blog/february-2023-header-parser-fixed/
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。