首页 > 安全公告 > 正文

关于Curl/libcurl 缓冲区溢出漏洞(CVE-2023-38545)的安全公告

来源:时间:2023-10-12点击数:

大工网安告[2023]037

一、情况分析

近日,发现Curl/libcurl 缓冲区溢出漏洞(CVE-2023-38545)。当使用socks5代理时,如果主机名大于255则curl会尝试使用本地解析代替远程解析,但没有按照预期工作,导致内存损坏,攻击者可以构造恶意主机名触发漏洞,成功利用该漏洞将造成代码执行。经过研判,此漏洞的触发需要配置使用socks5代理,且设置主机名参数为大于255长度的值,利用条件较为苛刻,且利用后大概率仅可以达到拒绝服务的效果,建议相关用户酌情升级。

curl从1998年维护至今,已经成为HTTP请求命令行工具的事实标准,具有丰富的Api和Abi(应用程序二进制接口)。curl被用于汽车、电视机、路由器、打印机、音频设备、手机、平板电脑、医疗设备、机顶盒、电脑游戏、媒体播放器等各种设备中,并且在超过200亿个安装中作为互联网传输引擎被成千上万的软件应用程序使用。

libcurl是curl的一个开发库,它提供了用于进行网络通信和数据传输的API和功能。libcurl库允许开发人员在自己的应用程序中集成curl的功能,以便进行HTTP、FTP、SMTP等协议的数据传输。通过libcurl,开发人员可以方便地执行各种网络操作,例如发送HTTP请求、下载文件、上传文件等。libcurl是一个非常流行和广泛使用的网络库,常用于编写网络应用程序和客户端。

二、影响范围

7.69.0 <= libcurl <= 8.3.0

三、处置建议

官方补丁

目前,官方已发布修复建议,建议受影响的用户尽快升级至安全版本:https://curl.se/download/

临时处理建议

在libcurl和curl工具 中使用SOCKS5代理相关功能可能触发此漏洞,客户可以关注是否使用相关选项:
    1.导致在libcurl中使用具有远程主机名的SOCKS5的选项:
    - `CURLOPT_PROXYTYPE`设置为类型`CURLPROXY_SOCKS5_HOSTNAME`,或者:
    - `CURLOPT_PROXY`或`CURLOPT_PRE_PROXY`设置为方案`socks5h://`
    2.导致在curl工具中使用具有远程主机名的SOCKS5的选项:
    - `--socks5-主机名`,或者:
    - `--proxy`或`--preproxy`设置为方案`socks5h://`

参考链接:https://github.com/curl/curl/discussions/12026


地址:大连市甘井子区凌工路2号,大连理工大学 邮编:116024

电话:0411-84708645 copyright2013 大连理工大学网络与信息化中心