HTTP/3/QUIC TLS密码套件配置错误漏洞分析

TLS密码套件在HTTP/3/QUIC支持中的错误配置

漏洞摘要

当使用curl命令的--ciphers选项手动指定TLS密码套件时会出现此漏洞。在此场景下HTTP/3或QUIC无法正常工作,因为QUIC不依赖于为TLS 1.2或更早版本定义的传统TLS密码套件。因此,当尝试访问仅支持HTTP/3或QUIC的端点时,使用--ciphers选项会导致连接失败。

技术细节

  • curl实现问题:curl中的--ciphers选项不会区分传统TLS协议(TLS 1.2/1.3)和QUIC,在指定不兼容密码套件时会导致配置冲突
  • 协议不匹配:HTTP/3使用QUIC协议,该协议无法使用--ciphers选项指定的传统TLS密码套件

受影响版本

curl 8.11.1 (x86_64-pc-linux-gnu) 
libcurl/8.11.1 OpenSSL/3.3.2 
zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 
c-ares/1.34.3 libidn2/2.3.7 libpsl/0.21.5 
libssh2/1.11.1 nghttp2/1.64.0 nghttp3/1.6.0
Release-Date: 2024-12-11

重现步骤

curl --disable -v --http3-only --ciphers \
'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:...' \
https://1.1.1.1/cdn-cgi/trace

错误输出

*   Trying 1.1.1.1:443...
* failed setting cipher list: ECDHE-ECDSA-AES128-GCM-SHA256:...
* QUIC connect to 1.1.1.1 port 443 failed: Could not use specified SSL cipher
* Failed to connect to 1.1.1.1 port 443 after 0 ms: Could not use specified SSL cipher
* closing connection #0
curl: (59) failed setting cipher list: ECDHE-ECDSA-AES128-GCM-SHA256:...

影响范围

  • 尝试将curl与--ciphers选项用于HTTP/3或QUIC连接的用户会遇到连接失败
  • 此问题可能会破坏依赖curl与HTTP/3/QUIC服务器交互的自动化流程或脚本

相关参考

时间线

  • 2025-02-07 22:09 UTC:zzq1015提交漏洞报告
  • 2025-02-07 22:11 UTC:curl团队成员bagder请求说明安全问题细节
  • 2025-02-08 07:12 UTC:团队成员jimfuller2024建议提交代码修复
  • 2025-02-10 12:26 UTC:报告状态变更为"不适用"
  • 2025-07-06 21:05 UTC:报告被公开披露

状态:已披露 | 严重等级:无评级 | CVE ID:无 | 赏金:无
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

posted @ 2025-08-28 08:01  qife  阅读(8)  评论(0)    收藏  举报