• 公告ID (KylinSec-SA-2024-1057)

摘要:

containernetworking-plugins security update

安全等级: Critical

公告ID: KylinSec-SA-2024-1057

发布日期: 2024年1月12日

关联CVE: CVE-2023-24534   CVE-2023-24536   CVE-2023-24537   CVE-2023-24538  

  • 详细介绍

1. 漏洞描述

   

CNI(容器网络接口)项目包含了一个规范和库,用于编写插件以配置Linux容器中的网络接口,同时还支持多个插件。CNI仅关注容器的网络连接,以及在容器被删除时移除已分配的资源。

安全修复:

HTTP和MIME头部解析的内存分配问题(CVE-2023-24534):
HTTP和MIME头部解析在处理小输入时也可能分配大量内存,这可能导致拒绝服务攻击。某些不寻常的输入数据模式会导致用于解析HTTP和MIME头部的通用函数分配远超过保存已解析头部所需的内存。攻击者可以利用此行为,通过小请求使HTTP服务器分配大量内存,从而导致内存耗尽和拒绝服务。修复后,头部解析现在仅正确分配保存已解析头部所需的内存。
多部分表单解析的CPU和内存消耗问题(CVE-2023-24536):
处理包含大量部分的表单输入时,多部分表单解析可能会消耗大量CPU和内存。这源于几个原因:mime/multipart.Reader.ReadForm限制了已解析多部分表单可以消耗的总内存,但ReadForm可能会低估消耗的内存量,导致接受比预期更大的输入;限制总内存没有考虑到在具有许多部分的表单中进行大量小分配时对垃圾收集器的压力增加;ReadForm可以分配大量短寿命缓冲区,进一步增加对垃圾收集器的压力。这些因素的组合可能允许攻击者导致解析多部分表单的程序消耗大量CPU和内存,从而导致拒绝服务。这影响了使用mime/multipart.Reader.ReadForm的程序,以及net/http包中使用Request方法的FormFile、FormValue、ParseMultipartForm和PostFormValue的表单解析。修复后,ReadForm现在更好地估计了已解析表单的内存消耗,并减少了短寿命分配的次数。此外,固定的mime/multipart.Reader对解析表单的大小施加了以下限制:使用ReadForm解析的表单最多可包含1000个部分(此限制可通过环境变量GODEBUG=multipartmaxparts=进行调整);使用NextPart和NextRawPart解析的表单部分最多可包含10,000个头部字段,并且使用ReadForm解析的表单在所有部分中最多可包含10,000个头部字段(此限制可通过环境变量GODEBUG=multipartmaxheaders=进行调整)。
Go源代码中//line指令的大行号导致的无限循环问题(CVE-2023-24537):
在包含具有非常大行号的//line指令的Go源代码上调用任何Parse函数可能会导致由于整数溢出而引起的无限循环。
模板中的反引号处理不当问题(CVE-2023-24538):
模板没有正确地将反引号(`)视为JavaScript字符串定界符,也没有按预期进行转义。自ES6以来,反引号用于JS模板字面量。如果模板在JavaScript模板字面量中包含Go模板操作,则操作的内容可用于终止字面量,从而将任意JavaScript代码注入到Go模板中。由于ES6模板字面量相当复杂,并且它们本身可以进行字符串插值,因此决定简单地禁止在它们内部使用Go模板操作(例如"var a = {{.}}"),因为没有明显安全的方法来允许这种行为。这与github.com/google/safehtml采取的方法相同。修复后,当遇到此类模板时,Template.Parse会返回一个带有ErrorCode值12的错误。目前,此ErrorCode未导出,但将在Go 1.21版本中导出。依赖于以前行为的用户可以使用GODEBUG标志jstmpllitinterp=1重新启用它,但请注意,现在将转义反引号。应谨慎使用此标志。

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2023-24534 KY3.4-4A containernetworking-plugins Fixed
CVE-2023-24534 KY3.4-5A containernetworking-plugins Fixed
CVE-2023-24534 KY3.5.1 containernetworking-plugins Fixed
CVE-2023-24534 KY3.5.2 containernetworking-plugins Fixed
CVE-2023-24536 KY3.4-4A containernetworking-plugins Fixed
CVE-2023-24536 KY3.4-5A containernetworking-plugins Fixed
CVE-2023-24536 KY3.5.1 containernetworking-plugins Fixed
CVE-2023-24536 KY3.5.2 containernetworking-plugins Fixed
CVE-2023-24537 KY3.4-4A containernetworking-plugins Fixed
CVE-2023-24537 KY3.4-5A containernetworking-plugins Fixed
CVE-2023-24537 KY3.5.1 containernetworking-plugins Fixed
CVE-2023-24537 KY3.5.2 containernetworking-plugins Fixed
CVE-2023-24538 KY3.4-4A containernetworking-plugins Fixed
CVE-2023-24538 KY3.4-5A containernetworking-plugins Fixed
CVE-2023-24538 KY3.5.1 containernetworking-plugins Fixed
CVE-2023-24538 KY3.5.2 containernetworking-plugins Fixed

3. 影响组件

    containernetworking-plugins

4. 修复版本

   

KY3.5.1

软件名称 架构 版本号
containernetworking-plugins-devel noarch 1.1.1-4.kb1.ky3_5
containernetworking-plugins x86_64 1.1.1-4.kb1.ky3_5
containernetworking-plugins-unit-test-devel x86_64 1.1.1-4.kb1.ky3_5
containernetworking-plugins aarch64 1.1.1-4.kb1.ky3_5
containernetworking-plugins-unit-test-devel aarch64 1.1.1-4.kb1.ky3_5

KY3.4-4A

软件名称 架构 版本号
containernetworking-plugins-devel noarch 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins x86_64 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins-unit-test-devel x86_64 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins aarch64 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins-unit-test-devel aarch64 0.8.6-6.gitad10b6f.kb1.ky3_4

KY3.4-5A

软件名称 架构 版本号
containernetworking-plugins-devel noarch 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins-unit-test-devel x86_64 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins x86_64 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins aarch64 0.8.6-6.gitad10b6f.kb1.ky3_4
containernetworking-plugins-unit-test-devel aarch64 0.8.6-6.gitad10b6f.kb1.ky3_4

KY3.5.2

软件名称 架构 版本号
containernetworking-plugins-devel noarch 1.1.1-4.ky3_5
containernetworking-plugins-unit-test-devel x86_64 1.1.1-4.ky3_5
containernetworking-plugins x86_64 1.1.1-4.ky3_5
containernetworking-plugins-unit-test-devel aarch64 1.1.1-4.ky3_5
containernetworking-plugins aarch64 1.1.1-4.ky3_5

5. 修复方法


方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm

方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名

6. 下载链接

   

KY3.5.1:

x86_64:

     containernetworking-plugins-devel   

     containernetworking-plugins   

     containernetworking-plugins-unit-test-devel   

aarch64:

     containernetworking-plugins-devel   

     containernetworking-plugins   

     containernetworking-plugins-unit-test-devel   

KY3.4-4A:

x86_64:

     containernetworking-plugins-devel   

     containernetworking-plugins   

     containernetworking-plugins-unit-test-devel   

aarch64:

     containernetworking-plugins-devel   

     containernetworking-plugins   

     containernetworking-plugins-unit-test-devel   

KY3.4-5A:

x86_64:

     containernetworking-plugins-devel   

     containernetworking-plugins-unit-test-devel   

     containernetworking-plugins   

aarch64:

     containernetworking-plugins-devel   

     containernetworking-plugins   

     containernetworking-plugins-unit-test-devel   

KY3.5.2:

x86_64:

     containernetworking-plugins-devel   

     containernetworking-plugins-unit-test-devel   

     containernetworking-plugins   

aarch64:

     containernetworking-plugins-devel   

     containernetworking-plugins-unit-test-devel   

     containernetworking-plugins   

上一篇:KylinSec-SA-2024-1056 下一篇:KylinSec-SA-2024-1072