【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)

admin 2025年4月9日20:35:25评论6 views字数 3912阅读13分2秒阅读模式
【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)

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的当前版本和相关信息。

【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)

2. 下载新版本

接下来,您需要下载cURL 8.1.2或更高版本的源代码。这可以通过访问cURL的官方网站或其他可信的软件源来完成。例如,您可以访问cURL的官方网站下载最新的源代码包。

【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)

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-buildcp -a /tmp/curl-build/usr/local/curl-8.12.1 /usr/local/

6. 验证安装

安装完成后,您可以通过再次运行cURL --version命令来验证新版本的cURL是否已成功安装。

【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)

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)

欢迎关注公众号

原文始发于微信公众号(方桥安全漏洞防治中心):【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月9日20:35:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞处置SOP】cURL 安全漏洞(CVE-2023-27534、CVE-2023-27536等多个CVE)https://cn-sec.com/archives/3935679.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息