知名开源项目 cURL 日前发布 8.23.0 版,该版本用于修复 HTTP/2 上传过程中的释放后使用漏洞,漏洞编号 CVE-2026-92392。该漏洞可以在特定条件下将其转换为客户端代码执行,恶意服务器可以在接收文件上传时触发内存错误影响发起上传的设备。
影响特定版本和上传场景:
该漏洞影响 cURL 和 libcurl 8.12.0~8.22.0 版,包括命令行工具以及集成该库的软件。相关构建需要启用 HTTP/2,客户端还必须主动向攻击者控制的服务器上传文件。cURL 处理服务器发来的 HTTP/2 流重置帧时,会在释放传输对象后继续使用其引用造成释放后使用。
已有 RCE 验证但利用条件比较苛刻:
公开报告展示将内存破坏转换为远程代码执行的复现方法,不过成功利用漏洞还要求攻击者掌握目标 cURL 版本、机构、内存分配器和堆布局、控制并发传输的时序。cURL 项目将漏洞评级为高,同时指出实际攻击更可能导致客户端崩溃。
升级到 cURL 8.23.0 版即可修复该漏洞,若用户短时间内无法升级版本则可以禁用 HTTP/2,其中命令行版本可以通过追加参数 --http1.1 切换到 HTTP/1.1 发起请求,使用 libcurl 的程序可以设置相应版本选项。
消息源:cURL CVE-2026-92392