【已复现】curl SOCKS5 堆溢出漏洞(CVE-2023-38545)安全风险通告第二次更新

admin 2023年10月12日22:54:26评论158 views字数 3104阅读10分20秒阅读模式

点击↑蓝字关注我们,获取更多安全风险通告


漏洞概述

漏洞名称

curl SOCKS5 堆溢出漏洞

漏洞编号

QVD-2023-23751、CVE-2023-38545

公开时间

2023-10-10

影响对象数量级

亿级

奇安信评级

高危

CVSS 3.1分数

7.0

威胁类型

代码执行

利用可能性

POC状态

已公开

在野利用状态

未发现

EXP状态

未公开

技术细节状态

已公开

利用条件:需要通过socks5代理,且url可控。

(注:奇安信CERT的漏洞深度分析报告包含此漏洞的POC及技术细节,订阅方式见文末。)

01
漏洞详情
>>>>

影响组件

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

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

>>>>

漏洞描述

近日,奇安信CERT监测到官方发布新版本修复curl SOCKS5 堆溢出漏洞(CVE-2023-38545),当使用socks5代理时,如果主机名大于255则curl会尝试使用本地解析代替远程解析,但没有按照预期工作,导致内存损坏,攻击者可以构造恶意主机名触发漏洞,成功利用该漏洞将造成代码执行。

鉴于此漏洞影响范围较大,建议客户尽快做好自查,经奇安信CERT研判漏洞利用条件苛刻,客户不必惊慌,可酌情排期修复。

本次更新内容:

新增产品线解决方案;

新增排查建议。

02
影响范围
>>>>

影响版本

7.69.0 <= libcurl <= 8.3.0

>>>>

不受影响版本

Libcurl >= 8.4.0

Libcurl < 7.69.0

>>>>

其他受影响组件

大多数现代操作系统都使用 libcurl,包括但不限于:

Android、Chrome OS、Cisco IOS、iOS、ipadOS、Linux、macOS、OpenBSD、RISC OS、SunOS、tvOS、ucLinux、vxWorks、WebOS、Windows、Xbox System。

将libcurl用作依赖项的软件包数量同样巨大,包括但不限于:

git, libcurl4-gnutls-dev, python-pycurl, libcurl4-openssl-dev, rng-tools, gnupg2, zabbix-agent, systemd, apache2-bin, xmlrpc-c-client, sssd-common, ipa-client, certmonger, php-curl, fwupd, libfwupd2, libreoffice-core, librepo, libraptor2-0, libcmis-0.5-5v5, python3-pycurl, passenger, geoipupdate, libappstream4, rsyslog, NetworkManager, python3-librepo, php8.1-curl, elfutils-debuginfod-client, cargo, python27-pycurl, git-core, mariadb-connector-c, apt-transport-https, php7.0-curl, google-chrome-stable, NetworkManager-cloud-setup, google-compute-engine-oslogin, qemu-block-extra, tpm2-tss, strongswan, syslog-ng-core, libcfitsio8, libcurl-devel, gnupg1。

03
复现情况

目前,奇安信CERT已成功复现curl SOCKS5 堆溢出漏洞(CVE-2023-38545),截图如下:

【已复现】curl SOCKS5 堆溢出漏洞(CVE-2023-38545)安全风险通告第二次更新

04
处置建议
>>>>

安全更新

目前官方已发布最新版本,建议受影响用户升级至 libcurl >= 8.4.0:

git clone https://github.com/curl/curl.git

./configure –withguntls

make && make install

暂时无法升级的用户建议:

不要与 CURLPROXY_SOCKS5_HOSTNAME 代理一起使用;

不要将代理环境变量http_proxy、all_proxy和https_proxy设置为socks5h://

>>>>

排查方案

依赖libcurl的软件可能会动态依赖系统lib目录下的libcurl或者静态打包入内,可以使用如下python脚本扫描/lib目录内含有受影响libcurl版本的so并输出对应so路径:

import reimport osimport subprocess

libcurl_pattern = r"^libcurl/(7.(?:6[9]|([7-9]d)|[1-9]d{2,}).d+|8.(?:([0-2].d+|3.0)))$"libcurl_regex = re.compile(libcurl_pattern)so_pattern = r".*.so(.d+)*$"so_regex = re.compile(so_pattern)

root_dir = "/lib/"



for root, dirs, files in os.walk(root_dir):    for file in files:        if so_regex.match(file):            file_path = os.path.join(root, file)            p = subprocess.Popen(["strings", file_path],                                 stdout=subprocess.PIPE)            p2 = subprocess.Popen(                ["grep", "-P", "^libcurl/(7.(?:6[9]|([7-9]d)|[1-9]d{2,}).d+|8.(?:([0-2].d+|3.0)))$"], stdin=p.stdout, stdout=subprocess.PIPE)            output = p2.communicate()[0].decode('utf-8')            if "curl" in output:                # print(output)                print("vulnerable .so path:"+file_path +                      "tversion "+output.strip())print("Done!")

【已复现】curl SOCKS5 堆溢出漏洞(CVE-2023-38545)安全风险通告第二次更新

Debian系统可以使用包管理器查找依赖libcurl的包:

dpkg -l | grep libcurl

>>>>

产品解决方案

奇安信开源卫士已支持

奇安信开源卫士20231011. 408版本已支持对curl SOCKS5 堆溢出漏洞 (CVE-2023-38545)的检测。

05
参考资料

[1]https://curl.se/docs/CVE-2023-38545.html

06
时间线

2023年10月11日,奇安信 CERT发布安全风险通告;

2023年10月12日,奇安信 CERT发布安全风险通告第二次更新。

原文始发于微信公众号(奇安信 CERT):【已复现】curl SOCKS5 堆溢出漏洞(CVE-2023-38545)安全风险通告第二次更新

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月12日22:54:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【已复现】curl SOCKS5 堆溢出漏洞(CVE-2023-38545)安全风险通告第二次更新https://cn-sec.com/archives/2106878.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息