漏洞类型 | 堆缓冲区溢出 | 发现时间 | 2023-10-11 | 漏洞等级 | 高危 |
MPS编号 | MPS-cpg0-9qk3 | CVE编号 | CVE-2023-38545 | 漏洞影响广度 | 广 |
漏洞危害
OSCS 描述 |
curl 是用于在各种网络协议之间传输数据的命令行工具,libcurl 用于提供处理网络通信和数据传输的Api接口。curl 默认下载缓冲区为 102400 字节,但如果设置低于每秒 102400 字节,缓冲区大小会自动设置为更小的值。libcurl 下载缓冲区默认为 16KB,应用程序可通过 CURLOPT_BUFFERSIZE 选项设置其大小。 受影响版本中,libcurl对于Socks代理过程中解析的主机名长度未正确限制,使用 libcurl 的应用程序在未设置 CURLOPT_BUFFERSIZE 或将其设置小于 65541 时会造成堆缓冲区溢出;由于 curl 工具默认将 CURLOPT_BUFFERSIZE 设置为 100KB,因此除非用户将速率通过 –limit-rate 限制设置为每秒小于 65541 字节,默认不受影响。 当用户通过socks代理访问攻击者可控的地址时,如果攻击者通过302跳转等方式使得用户解析访问大于缓冲区长度的域名,可能造成拒绝服务,针对特定的平台和软件可能造成远程代码执行。 参考链接:https://www.oscs1024.com/hd/MPS-cpg0-9qk3 |
影响范围及处置方案
OSCS 平台影响范围和处置方案
影响范围 | 处置方式 | 处置方法 |
curl [7.69.0, 8.4.0) | 更新 | 升级curl到 8.4.0 或更高版本 |
缓解措施 | 不要将 CURLPROXY_SOCKS5_HOSTNAME 代理与curl一起使用 | |
缓解措施 | 不要将代理环境变量设置为socks5h:// | |
补丁 | 官方已发布补丁:https://github.com/curl/curl/commit/4a4b63daaa | |
libcurl [7.69.0, 8.4.0) | 更新 | 升级libcurl到 8.4.0 或更高版本 |
参考链接:https://www.oscs1024.com/hd/MPS-cpg0-9qk3 |
排查方式
方式1:使用漏洞检测CLI工具来排查使用文档:https://www.murphysec.com/docs/faqs/integration/cli.html |
方式2:使用漏洞检测IDEA插件排查使用文档:https://www.murphysec.com/docs/faqs/integration/jetbrains-ide-plugin.html |
方式3:接入GitLab进行漏洞检测排查使用文档:https://www.murphysec.com/docs/faqs/integration/gitlab.html |
更多排查方式:https://www.murphysec.com/docs/faqs/integration/ |
本文参考链接
https://www.oscs1024.com/hd/MPS-cpg0-9qk3
https://nvd.nist.gov/vuln/detail/CVE-2023-38545