公告ID(KYSA-202304-0049)
公告ID:KYSA-202304-0049
公告摘要:golang-1.18安全漏洞
等級:重要
發布日期:2025-01-15
詳細介紹
1. 漏洞概述
CVE-2022-1962
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Google Golang 1.18.4-r0之前版本存在安全漏洞,該漏洞源于攻擊者可以通過go/parser Parse導致Go的致命錯誤,以觸發拒絕服務。
CVE-2023-24538
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Google Golang 存在安全漏洞,該漏洞源于Templates沒有正確地將反引號` 視為 Javascript 字符串分隔符,并且沒有按預期轉義它們。
CVE-2022-30633
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Go 1.17.12和Go 1.18.4之前的encoding/xml中的Unmarshall中的不受控制的遞歸允許攻擊者通過將xml文檔解組為Go結構來引起堆棧耗盡引起的恐慌,該Go結構具有使用“any”字段標記的嵌套字段。
CVE-2022-29526
Google Go是一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言。Google go 存在權限許可和訪問控制問題漏洞,該漏洞源于系統調用中的faccessat存在檢查錯誤。
CVE-2022-30635
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。解碼器中的不受控遞歸。Go 1.17.12和Go 1.18.4之前的encoding/gob解碼允許攻擊者通過包含深度嵌套結構的消息,通過堆棧耗盡而引起恐慌。
CVE-2022-1705
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Google Golang 1.18.4-r0之前版本存在安全漏洞,該漏洞源于攻擊者可以通過Net/http Transfer-Encoding Header在Go上添加新的報頭信息以改變服務行為。
CVE-2022-30632
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。
CVE-2022-2879
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,該漏洞源于archive/tar讀取頭文件時內存消耗不受限制。
CVE-2022-32148
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。
CVE-2022-2880
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,該漏洞源于net/http/httputil:ReverseProxy不應該轉發不可解析的查詢參數。
CVE-2023-24537
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,該漏洞源于在包含行號非常大的//line 指令的 Go 源代碼上調用任何 Parse 函數都可能由于整數溢出而導致無限循環。
CVE-2022-28131
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,Go 1.17.12和Go 1.18.4之前版本跳過encoding/xml允許攻擊者通過深度嵌套的xml文檔由于堆棧耗盡而引起恐慌。
CVE-2022-30631
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,Go 1.17.12和Go 1.18.4之前的Read-in compress/gzip允許攻擊者通過包含大量級聯的0長度壓縮文件的存檔,由于堆棧耗盡而引起恐慌。
CVE-2022-27664
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 1.18.6之前版本和1.19.1之前的1.19.x版本存在安全漏洞,該漏洞源于如果關閉被致命錯誤搶占,HTTP/2 連接可能會在關閉期間掛起,攻擊者可能會導致拒絕服務。
CVE-2022-41717
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞。攻擊者利用該漏洞導致內存過度增長。
CVE-2022-30629
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,該漏洞源于會話票證缺少隨機ticket_age_add。
CVE-2022-30630
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,Go 1.17.12和Go 1.18.4之前的io/fs中的Glob中的不受控制的遞歸允許攻擊者通過包含大量路徑分隔符的路徑,由于堆棧耗盡而引起恐慌。
CVE-2022-32189
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,該漏洞源于過短的編碼消息可能會導致 big.Float 和 big.Rat 中的 math/big 出現恐慌,從而導致拒絕服務。
CVE-2022-41715
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態加載部分函數。Google Golang 存在安全漏洞,該漏洞源于regexp/syntax限制解析正則表達式時使用的內存。
CVE-2023-24534
Google Golang是一種靜態強類型、編譯型語言。Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Google Golang 存在安全漏洞,該漏洞源于HTTP 和 MIME 標頭解析時會分配大量內存,即使在解析小的輸入時也是如此,這可能會導致拒絕服務。
2. 受影響的操作系統及軟件包
·銀河麒麟桌面操作系統V10 SP1 2403、銀河麒麟桌面操作系統V10 SP1 2303、銀河麒麟桌面操作系統V10 SP1 2303 Update2
x86_64 架構:
golang-1.18-go、golang-1.18-src、golang-1.18
arm64 架構:
golang-1.18-go、golang-1.18-src、golang-1.18
mips64el 架構:
golang-1.18-go、golang-1.18-src、golang-1.18
loongarch64 架構:
golang-1.18-src、golang-1.18
3. 軟件包修復版本
·銀河麒麟桌面操作系統V10 SP1 2403、銀河麒麟桌面操作系統V10 SP1 2303、銀河麒麟桌面操作系統V10 SP1 2303 Update2
1.18.1-1kylin1~20.04.2
4. 修復方法
方法一:升級安裝
執行更新命令進行升級
$sudo apt update
$sudo apt install golang-1.18
方法二:下載軟件包進行升級安裝
通過軟件包地址下載軟件包,使用軟件包升級命令根據受影響的軟件包列表升級相關的組件包。
$sudo apt-get install /Path1/Package1 /Path2/Package2 /Path3/Package3……
注:Path 指軟件包下載到本地的路徑,Package指下載的軟件包名稱,多個軟件包則以空格分開。
5. 軟件包下載地址
銀河麒麟桌面操作系統V10 SP1 2403、銀河麒麟桌面操作系統V10 SP1 2303、銀河麒麟桌面操作系統V10 SP1 2303 Update2
x86_64軟件包下載地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-go_1.18.1-1kylin1~20.04.2_amd64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-src_1.18.1-1kylin1~20.04.2_all.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18_1.18.1-1kylin1~20.04.2_all.deb
arm64軟件包下載地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-go_1.18.1-1kylin1~20.04.2_arm64.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-src_1.18.1-1kylin1~20.04.2_all.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18_1.18.1-1kylin1~20.04.2_all.deb
mips64el軟件包下載地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-go_1.18.1-1kylin1~20.04.2_mips64el.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-src_1.18.1-1kylin1~20.04.2_all.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18_1.18.1-1kylin1~20.04.2_all.deb
loongarch64軟件包下載地址
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18-src_1.18.1-1kylin1~20.04.2_all.deb
https://archive.kylinos.cn/kylin/KYLIN-ALL/pool/universe/g/golang-1.18/golang-1.18_1.18.1-1kylin1~20.04.2_all.deb
6. 修復驗證
使用軟件包查詢命令,查看相關的軟件包版本大于或等于修復版本則成功修復。
$sudo dpkg -l |grep Package
注:Package為軟件包包名。