一、漏洞概述
近日,绿盟科技监测到curl官方发布安全公告,修复了SOCKS5堆缓冲区溢出漏洞(CVE-2023-38545)和cookie注入漏洞(CVE-2023-38546)。漏洞细节已公开,请受影响用户尽快升级版本进行防护。
SOCKS5堆缓冲区溢出漏洞(CVE-2023-38545):
当要求curl将主机名传给SOCKS5代理进行地址解析时,若主机名超过255字节,curl将会发生基于堆的缓冲区溢出。由于在缓慢的SOCKS5握手中,一个本地变量可能会产生错误值,导致curl不是复制已解析的地址,而是复制过长的主机名至目标缓冲区。此漏洞同时影响命令行工具curl和依赖库libcurl。
cookie注入漏洞(CVE-2023-38546):
在特定条件下,攻击者可将Cookie插入到程序中。此漏洞是由于使用curl_easy_duphandle复制“easy handles”时,复制了Cookie使能状态,但未复制具体的Cookies。这导致复制的句柄可能从后缀名为“none”的文件中加载cookies。进而导致Cookie注入,因需满足多项条件,该漏洞风险较低,仅影响libcurl。
cURL(客户端URL)是一个开放源代码的命令行工具,用于在服务器之间传输数据,libcurl是curl的一个流行和使用广泛的网络库,常用于编写网络应用程序和客户端,它提供了用于进行网络通信和数据传输的API和功能。
参考链接:
https://curl.se/docs/CVE-2023-38545.html
https://curl.se/docs/CVE-2023-38546.html
二、影响范围
受影响版本
CVE-2023-38545
- 7.69.0 <= libcurl <= 8.3.0
CVE-2023-38546
- 7.9.1<= libcurl <= 8.3.0
注:使用 libcurl的操作系统和基于cURL和libcurl衍生的组件也受上述漏洞影响
不受影响版本
CVE-2023-38545/ CVE-2023-38546
- libcurl>= 8.4.0
- libcurl < 7.69.0
三、漏洞防护
- 官方升级
目前官方已发布新版本修复上述漏洞,建议受影响用户及时更新升级进行防护:
https://curl.se/download.html
https://github.com/curl/curl/commit/fb4415d8aee6c1
- 临时缓解措施
- 请勿设置CURLPROXY_SOCKS5_HOSTNAME启用代理;
- 请勿将代理环境变量设置为socks5h://
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。