摘要
curl_easy_getinfo CURLINFO_TLS_SSL_PTR 在 OpenSSL HTTP/3 连接中返回无效的 SSL 连接指针。使用此 SSL 连接会导致崩溃,并可能产生其他影响。此问题在 libcurl 8.14.1 中未出现,表明错误可能在 libcurl 本身(或 libcurl 8.14.1 未触发其他支持库中的错误)。一些调试输出表明这可能是一个释放后使用/悬空指针问题。如果是这样,此问题可能导致远程代码执行。撰写本报告时尚未确认。
受影响版本
- 8.15.0(发布版)
- 8.15.1-DEV(7c23e88d17e0939b4e01c8d05f430e167e148f4b)
复现步骤
- 针对 OpenSSL 3.5.1 及足够新的 nghttp2、nghttp3 和 ngtcp2 编译 libcurl(–with-openssl –with-nghttp2 –with-ngtcp2 –with-nghttp3)
- 使用 -fsanitize=address 编译以下概念验证应用:
|
|
- 执行 PoC:
|
|
影响
摘要:
- 至少:访问 HTTP/3 站点时导致拒绝服务。
- 潜在:如果返回的指针指向已释放的内存,可能导致内存损坏。根据目标平台的不同,可能实现远程代码执行。需要进一步分析以确定完整影响。
支持材料/参考文献
本报告不含 AI 内容,供您愉快阅读。停止垃圾信息!
时间线活动
- nyymi 提交报告给 curl。14 天前
- nyymi 发布评论。14 天前
- 讨论如何触发回调函数,并提到索尼在 PlayStation 设备中使用相同的浏览器引擎和 curl 后端。
- nyymi 发布评论。14 天前
- 更正 OpenSSL 3.5 中 SSL 实际类型为 struct ssl_connection_st。
- nyymi 发布评论。14 天前
- 分析漏洞影响,认为可能低于最初估计,但仍存在安全影响,如 SSL_get_verify_result 可能错误返回 X509_V_OK。
- bagder (curl staff) 发布评论。14 天前
- 指出使用 SSL_get_verify_result 的应用程序已经放弃安全性,此错误不会使其更糟。
- nyymi 发布评论。14 天前
- 发现可能的 RCE 向量,涉及 RECORD_LAYER 结构中的函数指针,但需要堆地址知识。
- nyymi 发布评论。14 天前
- 提供模拟成功构建假 SSL 对象的 PoC,导致代码执行。
- jimfuller2024 (curl staff) 发布评论。13 天前
- 确认在 8.15.0 上复现,并调查是否存在更简单的利用链。
- nyymi 发布评论。13 天前
- 指出 SSL_get_verify_result 与 RCE 向量无关。
- nyymi 发布评论。13 天前
- 识别不需要堆地址知识的回调函数 SSL srp_ctx.TLS_ext_srp_username_callback,但认为用户代码调用此函数的可能性很低。
- jimfuller2024 (curl staff) 发布评论。12 天前
- 确认理论利用有效,但适用性狭窄。
- bagder (curl staff) 发布评论。12 天前
- 指出 SRP 在 1.3/QUIC 中不工作,使得使用 unlikely。
- nyymi 发布评论。12 天前
- 同意此向量人工性强,继续寻找更多工作向量。
- nyymi 发布评论。12 天前
- 初步查看 WolfSSL,发现许多回调 behind 编译时标志,难以确定是否可到达。
- bagder (curl staff) 发布评论。11 天前
- 总结漏洞利用条件复杂,不认为这是现实世界安全问题。
- nyymi 发布评论。11 天前
- 同意利用条件复杂,安全影响有限。
- nyymi 发布评论。11 天前
- 分析 WolfSSL 向量困难,结构偏移高度可配置。
- bagder (curl staff) 发布评论。7 天前
- 计划在 24 小时内关闭此报告为信息性。
- bagder (curl staff) 关闭报告并将状态更改为信息性。6 天前
- 认为不是安全问题,修复 PR 在 https://github.com/curl/curl/pull/18066。
- bagder (curl staff) 请求披露此报告。6 天前
- 根据项目透明政策,希望所有报告公开。
- nyymi 同意披露此报告。6 天前
- 报告已披露。6 天前
报告详情
- 报告时间:2025 年 7 月 20 日 5:10 UTC
- 报告者:nyymi
- 报告对象:curl
- 报告 ID:#3261310
- 严重性:无评级 (—)
- 披露时间:2025 年 7 月 28 日 22:48 UTC
- 弱点:释放后使用
- CVE ID:无
- 奖金:无