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,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。