打开微信“扫一扫”,开启安(ān)全数字世界之旅
截图或長(cháng)按保存至相册,使用(yòng)微信扫一扫
首页(yè) > 安(ān)全通告

安(ān)全通告

警惕!curl SOCKS5 堆溢出漏洞安(ān)全通告
发布时间 :2023年10月12日
分(fēn)享:

近日,亚信安(ān)全CERT监测到curl项目组发布了curl SOCKS5 存在堆溢出漏洞的安(ān)全公(gōng)告,该漏洞同时影响curl命令行工(gōng)具(jù)和libcurl库部分(fēn)版本。当使用(yòng)curl请求目标主机过程中(zhōng)使用(yòng)SOCKS5代理(lǐ)时,如果目标主机名(míng)大于255字节,curl会使用(yòng)本地解析主机代替遠(yuǎn)程解析造成堆缓冲區(qū)溢出。


鉴于curl和libcurl库使用(yòng)广泛,亚信安(ān)全CERT建议广大客户排查受影响产(chǎn)品,但该漏洞利用(yòng)条件较為(wèi)苛刻,如暂时无法升级的客户,可(kě)以通过亚信安(ān)全提供的临时方案或对应产(chǎn)品进行防护。


libcurl是一个跨平台的网络协议库,支持http、https、ftp、gopher、telnet、dict、file、和ldap协议。libcurl同样支持HTTPS证书授权,HTTP POST、HTTP PUT、FTP 上传、HTTP基本表单上传、代理(lǐ)、cookies和用(yòng)户认证。libcurl 用(yòng)于提供处理(lǐ)网络通信和数据传输的 Api 接口。


漏洞编号、类型和等级

  • 编号:CVE-2023-38545

  • 类型:代码执行

  • 等级:高危


漏洞状态

漏洞细节

PoC

EXP

在野利用(yòng)

已公(gōng)开

已公(gōng)开

未公(gōng)开

未发现


受影响的版本

7.69.0<= libcurl <= 8.3.0


漏洞利用(yòng)条件

libcurl库,以下任一条件


  • CURLOPT_PROXYTYPE 设置為(wèi)CURLPROXY_SOCKS5_HOSTNAME,如:curl_easy_setopt(handle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME)

  • CURLOPT_PROXY 或CURLOPT_PRE_PROXY使用(yòng)socks5h://代理(lǐ)地址,如:curl_easy_setopt(handle, CURLOPT_PROXY, "socks5h://...")

  • 代理(lǐ)环境变量设置為(wèi) socks5h://


curl命令行工(gōng)具(jù)(7.x版本,以下任一条件)


  • 使用(yòng)--socks5-hostname参数

  • 使用(yòng)-x参数值為(wèi)socks5h://格式

  • 代理(lǐ)环境变量设置為(wèi) socks5h://


curl命令行工(gōng)具(jù)(8.x版本)


  • 在7.x版本利用(yòng)条件上,CURLOPT_BUFFERSIZE未设置或者通过设置--limit-rate值小(xiǎo)于65541


受影响版本排查


curl

  • 使用(yòng)curl -V查看curl版本信息

  • 针对系统环境curl可(kě)以使用(yòng)curl -V | egrep -o '^curl [678]+\.[0-9]+\.[0-9]+'查看版本信息

  • 针对进程中(zhōng)的curl可(kě)以使用(yòng)strings curl | egrep -o '^curl [678]+\.[0-9]+\.[0-9]+'查看版本信息


libcurl库

  • 针对系统 lib 目录及应用(yòng)目录中(zhōng)的文(wén)件分(fēn)析,如strings libcurl.so | egrep -o 'libcurl[ -/]([678]+\.[0-9]+\.[0-9]+)'

  • 针对运行中(zhōng)的应用(yòng)可(kě)以通过分(fēn)析进程打开文(wén)件来判断,如sudo lsof | egrep -o '/.\.so.*' | xargs -I {} bash -c "strings {} | egrep -o 'libcurl[ -/]([678]+\.[0-9]+\.[0-9]+)'"


修复建议

建议受影响用(yòng)户升级至 curl >= 8.4.0

暂时无法升级的用(yòng)户建议:

  • 不要将curl与CURLPROXY_SOCKS5_HOSTNAME代理(lǐ)一起使用(yòng)

  • 不要将代理(lǐ)环境变量设置為(wèi)socks5h://


参考链接

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

  • https://curl.se/docs/CVE-2023-38545.html

  • https://access.redhat.com/security/cve/cve-2023-38545

  • https://jfrog.com/blog/curl-libcurl-october-2023-vulns-all-you-need-to-know/

  • https://www.tenable.com/blog/cve-2023-38545-cve-2023-38546-frequently-asked-questions-for-new-vulnerabilities-in-curl


分(fēn)享到微信
X