供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议
  57snpna0tZIN 2023年11月02日 38 0

漏洞概述

cURL 是一个支持多种网络协议的开源项目,被广泛集成到自动化构建、网络测试、网络数据采集以及其他网络相关的任务中,备受开发者和系统管理员青睐。

cURL在2023年10月11日下午紧急发布最新版本来修复前几日发现的高危安全漏洞,其中编号为CVE-2023-38545的漏洞是cURL客户端在处理SOCKS5协议时存在的堆内存溢出漏洞。

供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议_客户端

漏洞复现

悬镜供应链安全实验室第一时间对该漏洞进行分析和复现,当使用存在CVE-2023-38545漏洞的curl客户端或libcurl库请求攻击者的恶意socks代理服务器时,攻击者可通过socks5服务器返回非法的协议数据来远程触发该堆内存溢出漏洞,如果能成功利用该漏洞,受害者主机系统可能存在被攻击者远程执行任意代码的风险。

复现结果如下所示(测试版本curl 8.3.0):

供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议_bc_02

使用curl客户端访问攻击者搭建的恶意socks代理服务器(socks5h://random.test:1080)

供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议_代理服务器_03

curl接收到socks代理服务器的响应数据时触发内存崩溃,通过gdb内存调试可以发现curl进程的合法数据内存被攻击者发送的恶意数据覆盖导致进程崩溃。

供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议_客户端_04

受影响版本

CVE-2023-38545 socks协议内存溢出漏洞在libcurl 7.69.0被引入(https://github.com/curl/curl/commit/4a4b63daaa),在8.4.0版本中被修复,目前该漏洞只影响libcurl 7.69.0 ~  8.3.0版本,不受漏洞影响的版本:libcurl < 7.69.0 和 >= 8.4.0。

漏洞补丁

cURL项目官方发布了CVE-2023-38545的漏洞补丁如下

https://github.com/curl/curl/commit/fb4415d8aee6c1

供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议_客户端_05

在修复补丁中,当cURL客户端发现socks5代理服务器返回的http重定向hostname长度大于255时,则直接抛出异常(SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.)。

供应链安全情报 | cURL最新远程堆溢出漏洞复现与修复建议_客户端_06

修复建议

  • 禁止使用存在漏洞版本的curl客户端或libcurl库连接不信任的socks代理服务器
  • 升级到最新版本8.4.0

*ps:可以关注下容器中 cURL 的默认版本

该漏洞利用难度较高,用户可酌情选择是否升级到最新版本

悬镜供应链安全实验室也将持续监测和挖掘未知的开源组件安全风险,并及时对相关风险进行分析披露。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
57snpna0tZIN