01 SOP基本信息
-
SOP名称:cURL 安全漏洞(CVE-2023-23916、CVE-2022-32221、CVE-2023-38545、CVE-2023-27534、CVE-2023-27536、CVE-2023-27535)处置标准作业程序(SOP)
-
版本:1.0
-
发布日期:2025-02-14
-
作者:Eason
-
审核人:T小组
-
修订记录:
-
初始版本:创建SOP
02 SOP的用途
本SOP旨在指导系统管理员安全、高效地处置cURL 安全漏洞(CVE-2023-23916、CVE-2022-32221、CVE-2023-38545、CVE-2023-27534、CVE-2023-27536、CVE-2023-27535),确保在规定时间内完成漏洞修复并提交给安全部门验证,保障系统安全。
03 SOP的目标用户技能要求
-
熟悉 Linux 命令行操作
-
具备一定的代码编译知识
-
具备漏洞修复和安全配置的基本知识
04 漏洞详细信息
cURL 拒绝服务漏洞(CVE-2023-23916)
-
漏洞类型:资源无限制分配(CWE-770)
-
影响版本:cURL 7.57.0 至 7.88.0 版本
-
漏洞描述:cURL支持链式HTTP压缩算法,允许服务器响应多次压缩,但解压缩链中可接受的链接数量有限制。恶意服务器可以通过使用许多头来插入几乎无限数量的压缩步骤,导致cURL最终花费大量分配的堆内存或尝试并返回内存外错误,从而触发拒绝服务攻击。
该漏洞虽不直接导致代码执行,但可能被用于构建拒绝服务攻击链。建议所有使用 cURL 进行 HTTP 通信的系统及时应用补丁。
-
漏洞评分:CVSS 3.1 评分:6.5(中等)
-
漏洞影响:该漏洞主要影响使用cURL库进行网络请求的应用程序和系统。
-
修复方案:厂商已经发布了cURL 7.88.1版本以修复此漏洞。建议用户更新到最新版本。
cURL 安全漏洞(CVE-2022-32221)
-
漏洞类型:请求处理逻辑错误(CWE-668)
-
影响版本:libcurl 7.16.0 至 7.86.0 版本
-
漏洞描述:在进行HTTP(S)传输时,libcURL可能会错误地使用读取回调(cURLOPT_READFUNCTION)来请求发送数据,即使已设置了cURLOPT_POSTFIELDS选项。如果之前相同的句柄曾用于发出使用该回调的PUT请求,这可能导致应用程序行为异常,如发送错误数据或在后续POST请求中使用释放后的内存。
-
漏洞评分:CVSS 3.1 评分:9.8(严重)
-
漏洞影响:该漏洞可被用于构建远程代码执行攻击链,建议所有使用 libcurl 进行网络通信的应用程序立即升级。
-
修复方案:根据官方信息,此漏洞可能无需修复,因为它依赖于特定的使用场景和句柄重用情况。然而,建议用户保持libcURL库的更新,并关注官方发布的安全公告。
cURL socks5 堆缓冲区溢出漏洞(CVE-2023-38545)
-
漏洞类型:堆缓冲区溢出(CWE-787)
-
影响版本:cURL 7.69.0 至 8.4.0 版本
-
漏洞描述:当cURL使用socks5代理时,如果请求的hostname长度大于255字节,cURL会尝试使用本地解析代替远程解析,这可能导致堆边界溢出。攻击者可以构造恶意hostname诱导受害者访问从而触发漏洞,成功利用该漏洞将造成代码执行。
-
漏洞评分:利用条件:苛刻,需要cURL请求可控
-
漏洞影响:该漏洞可能影响使用libcURL进行网络请求并通过socks5代理进行通信的应用程序。
-
修复方案:官方已修复该漏洞,受影响用户可以升级更新到安全版本(libcURL >= 8.4.0)。
cURL安全特性绕过漏洞(CVE-2023-27534)
-
漏洞类型:路径遍历(CWE-22)
-
影响版本:cURL 7.18.0 至 7.88.1 版本
-
漏洞描述:在 SFTP 协议实现中,cURL 错误处理以波浪号(~)开头的路径:
-
攻击者可构造类似 /~2/foo 的畸形路径
-
绕过路径过滤机制
-
导致:
-
任意文件读取/写入
-
服务端代码执行
-
用户目录逃逸
-
漏洞评分:CVSS 3.1 评分:8.8(高危)
-
漏洞影响:该漏洞可被用于绕过文件系统访问控制,建议所有使用 cURL 进行 SFTP 传输的系统立即升级。对于无法立即升级的环境,建议禁用 SFTP 协议或实施严格的路径过滤机制。
-
修复方案:用户应更新到cURL 8.0.0或更高版本以修复此漏洞。
cURL 身份认证绕过漏洞(CVE-2023-27536)
-
漏洞类型:身份认证绕过(CWE-287/CWE-305)
-
影响版本:libcurl 7.22.0 至 7.88.1 版本
-
漏洞描述:该漏洞与FTP连接的重用功能有关。在某些情况下,libcURL可能会错误地重用FTP连接,导致在后续传输期间使用错误的凭据。这可能导致未经授权访问敏感信息。
-
漏洞评分:CVSS 3.1 评分:5.9(中等)
-
漏洞影响:该漏洞主要影响使用cURL进行FTP传输的应用程序。
-
修复方案:用户应更新到cURL 8.0.0或更高版本以修复此漏洞。
cURL 身份认证绕过漏洞(CVE-2023-27535)
-
漏洞类型:身份认证绕过(CWE-287/CWE-305)
-
影响版本:libcurl 7.13.0 至 7.88.1 版本
-
漏洞描述:与CVE-2023-27536类似,该漏洞也是由于FTP连接的重用功能导致的。在某些情况下,libcURL可能会因为配置匹配检查不严格而错误地重用FTP连接,从而导致使用错误的凭据。
-
漏洞评分:CVSS 3.1 评分:与CVE-2023-27536相同,为5.9(中等)
-
漏洞影响:该漏洞的影响范围与CVE-2023-27536相同,主要影响使用cURL进行FTP传输的应用程序。
-
修复方案:与CVE-2023-27536相同,用户应更新到cURL 8.0.0或更高版本以修复此漏洞。
05 漏洞处置方案
统一升级至升级到cURL 8.1.3或更高版本。
【注意事项】
-
在进行任何修复操作之前,务必备份所有重要数据和配置文件。
-
升级或补丁应用过程中应尽量减少对业务的影响,尽量在维护窗口内完成所有操作。
-
遵循官方提供的安装和配置指南进行操作。
-
在生产环境中升级前,最好在测试环境中先进行测试。
-
修复漏洞前进行充分测试,以确保系统稳定性和安全性。
06 漏洞修补详细步骤
要升级到cURL 8.1.3或更高版本来修复已知的安全漏洞,您可以按照以下步骤进行:
1. 确认当前版本
首先,您需要确认当前系统上安装的cURL版本。这可以通过在命令行中输入以下命令来完成:
# 检查 libcurl 版本
curl --version
该命令将显示cURL和libcurl的当前版本和相关信息。
2. 下载新版本
接下来,您需要下载cURL 8.1.2或更高版本的源代码。这可以通过访问cURL的官方网站或其他可信的软件源来完成。例如,您可以访问cURL的官方网站下载最新的源代码包。
3. 解压源代码包
下载完成后,您需要将源代码包解压到您的本地系统上。这可以通过使用tar命令来完成:
tar xzf curl-8.12.1.tar.gz
请将
cURL-8.12.1.tar
.gz
替换为您实际下载的源代码包的文件名。4. 配置和编译
进入解压后的源代码目录,并运行
configure
脚本来配置您的编译环境。这可能需要您指定一些额外的编译选项,具体取决于您的系统需求。例如:
./configure
--prefix=/opt/curl-8.12.1
--with-openssl=/opt/openssl
--with-zlib=/opt/zlib
--with-nghttp2=/opt/nghttp2
--disable-shared
--enable-static
--without-librtmp
--disable-ldap
配置完成后,您可以使用
make
命令来编译cURL:
make
5. 安装新版本
编译完成后,您可以使用
make install
命令来安装cURL的新版本。这可能需要您具有适当的系统权限(如sudo)。例如:
make install DESTDIR=/tmp/curl-build
cp -a /tmp/curl-build/usr/local/curl-8.12.1 /usr/local/
6. 验证安装
安装完成后,您可以通过再次运行
cURL
--version
命令来验证新版本的cURL是否已成功安装。7. 清理旧版本(可选)
如果您希望彻底清理旧版本的cURL,您可以手动删除旧版本的二进制文件和库文件。这通常需要您知道旧版本的安装位置。请注意,在删除文件之前,请确保新版本的cURL已正常工作,并且您已备份了任何重要数据。
【注意事项】
-
在升级cURL之前,请确保您已备份了任何重要数据,以防升级过程中出现意外情况导致数据丢失。
-
如果您是在生产环境中升级cURL,请务必在升级前仔细阅读官方文档和发布说明,了解新版本中的任何重要更改和已知问题。
-
如果您使用的是基于Linux发行版的包管理器(如apt、yum等)来安装cURL,您可以通过包管理器来升级cURL,而不是手动下载和编译源代码。
-
例如,在Debian或Ubuntu上,您可以使用以下命令来升级cURL:
sudo apt-get install --only-upgrade curl libcurl
-
在CentOS或RHEL上,您可以使用以下命令:
sudo yum update curl libcurl
请根据您的实际系统和包管理器选择适当的命令。
- End -
欢迎投稿或扫码添加运营助手获取附件▽
欢迎关注公众号
▽
原文始发于微信公众号(方桥安全漏洞防治中心):【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论