公告ID(KYSA-202401-0013)
公告ID:KYSA-202401-0013
公告摘要:golang-1.16安全漏洞
等级:重要
发布日期:2024-11-05
详细介绍
注:
1. 本公告所涉及的漏洞修复信息知识产权全部归麒麟软件有限公司所有,此安全漏洞补丁公告仅适用于麒麟软件操作系统通用主线产品,定制、OEM等版本可根据需要联系售后获取支持。任何媒体、网站或个人转载使用时不得进行商业性的原版原式的转载,也不得歪曲和篡改所发布的内容。此声明以及其修改权、更新权及最终解释权均归本网所有。
2. 此安全漏洞补丁公告仅适用于银河麒麟桌面操作系统V10 SP1 2403版本,系统版本查询工具下载链接:
https://security-oss.kylinos.cn/Desktop/libkysdk-sysinfo.zip
1. 漏洞概述
CVE-2022-2879
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于archive/tar读取头文件时内存消耗不受限制。
CVE-2022-1705
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 1.18.4-r0之前版本存在安全漏洞,该漏洞源于攻击者可以通过Net/http Transfer-Encoding Header在Go上添加新的报头信息以改变服务行为。
CVE-2022-30633
Google Golang是美国谷歌(Google)公司的一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Go 1.17.12和Go 1.18.4之前的encoding/xml中的Unmarshall中的不受控制的递归允许攻击者通过将xml文档解组为Go结构来引起堆栈耗尽引起的恐慌,该Go结构具有使用“any”字段标记的嵌套字段。
CVE-2022-28131
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Go 1.17.12和Go 1.18.4之前跳过encoding/xml允许攻击者通过深度嵌套的xml文档由于堆栈耗尽而引起恐慌。
CVE-2022-30635
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Go 1.17.12和Go 1.18.4之前的encoding/gob解码允许攻击者通过包含深度嵌套结构的消息,由于堆栈耗尽而引起恐慌。
CVE-2022-32148
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。调用httputil可能会触发Go 1.17.12和Go 1.18.4之前net/http中客户端IP地址的不当暴露。ReverseProxy。向HTTP发送请求。标头映射包含X-Forwarded-for标头的nil值,这会导致ReverseProxy将客户端IP设置为X-Forwarded-for标头的值。
CVE-2023-24534
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于HTTP 和 MIME 标头解析时会分配大量内存,即使在解析小的输入时也是如此,这可能会导致拒绝服务。
CVE-2023-24538
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于Templates没有正确地将反引号` 视为 Javascript 字符串分隔符,并且没有按预期转义它们。
CVE-2022-32189
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于过短的编码消息可能会导致 big.Float 和 big.Rat 中的 math/big 出现恐慌,从而导致拒绝服务。
CVE-2022-41717
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞。攻击者利用该漏洞导致内存过度增长。
CVE-2023-24537
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于在包含行号非常大的//line 指令的 Go 源代码上调用任何 Parse 函数都可能由于整数溢出而导致无限循环。
CVE-2022-27664
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 1.18.6之前版本和1.19.1之前的1.19.x版本存在安全漏洞,该漏洞源于如果关闭被致命错误抢占,HTTP/2 连接可能会在关闭期间挂起,攻击者可能会导致拒绝服务。
CVE-2022-2880
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于net/http/httputil:ReverseProxy不应该转发不可解析的查询参数。
CVE-2022-30631
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。调用httputil可能会触发Go 1.17.12和Go 1.18.4之前net/http中客户端IP地址存在不当暴露。向HTTP发送请求时,标头映射包含X-Forwarded-for标头的nil值,这会导致ReverseProxy将客户端IP设置为X-Forwarded-for标头的值。
CVE-2022-30632
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Go 1.17.12和Go 1.18.4之前的路径/filepath中Glob中的不受控制的递归允许攻击者通过包含大量路径分隔符的路径,由于堆栈耗尽而引起恐慌。
CVE-2022-30629
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于会话票证缺少随机ticket_age_add。
CVE-2022-1962
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 1.18.4-r0之前版本存在安全漏洞,该漏洞源于攻击者可以通过go/parser Parse导致Go的致命错误,以触发拒绝服务。
CVE-2022-41715
Google Golang是一种静态强类型、编译型语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。Google Golang 存在安全漏洞,该漏洞源于regexp/syntax限制解析正则表达式时使用的内存。
2. 受影响的操作系统及软件包
·银河麒麟桌面操作系统V10 SP1 2403
x86_64 架构:
golang-1.16-go、golang-1.16-src、golang-1.16
arm64 架构:
golang-1.16-go、golang-1.16-src、golang-1.16
mips64el 架构:
golang-1.16-go、golang-1.16-src、golang-1.16
3. 软件包修复版本
·银河麒麟桌面操作系统V10 SP1 2403
1.16.2-0kylin1~20.04.1
4. 修复方法
方法一:升级安装
执行更新命令进行升级
$sudo apt update
$sudo apt install golang-1.16
方法二:下载软件包进行升级安装
通过软件包地址下载软件包,使用软件包升级命令根据受影响的软件包列表升级相关的组件包。
$sudo apt-get install /Path1/Package1 /Path2/Package2 /Path3/Package3……
注:Path 指软件包下载到本地的路径,Package指下载的软件包名称,多个软件包则以空格分开。
5. 软件包下载地址
银河麒麟桌面操作系统V10 SP1 2403
x86_64软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16-go_1.16.2-0kylin1~20.04.1_amd64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16-src_1.16.2-0kylin1~20.04.1_amd64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16_1.16.2-0kylin1~20.04.1_all.deb
arm64软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16-go_1.16.2-0kylin1~20.04.1_arm64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16-src_1.16.2-0kylin1~20.04.1_arm64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16_1.16.2-0kylin1~20.04.1_all.deb
mips64el软件包下载地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16-go_1.16.2-0kylin1~20.04.1_mips64el.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16-src_1.16.2-0kylin1~20.04.1_mips64el.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.16/golang-1.16_1.16.2-0kylin1~20.04.1_all.deb
注:软件包仅适用于银河麒麟桌面操作系统V10 SP1 2403版本。
6. 修复验证
使用软件包查询命令,查看相关的软件包版本大于或等于修复版本则成功修复。
$sudo dpkg -l |grep Package
注:Package为软件包包名。