說明
遠端主機受到 GLSA-202208-02 中所述的弱點影響 (Go:多個弱點)
- Go 1.14.12 之前版本以及 1.15.5 之前的 1.15.x 版本允許發生程式碼插入攻擊。(CVE-2020-28366)
- Go 1.14.12 之前版本以及 1.15.5 之前的 1.15.x 版本允許發生引數插入攻擊。(CVE-2020-28367)
- 在 Go 1.15.9 版和 1.16.x 版的 1.16.1 之前版本中,如果自訂 TokenReader (對於 xml.NewTokenDecoder) 在元件中間返回 EOF,則 encoding/xml 會發生無限迴圈。Decode、DecodeElement 或 Skip 方法中皆可發生此問題。(CVE-2021-27918)
- 在 Go 1.16.1 之前的 1.16.x 版本中,archive/zip 允許攻擊者在針對任何檔案名稱開頭出現 ../ 的 ZIP 封存嘗試使用 Reader.Open API 時,造成程式拒絕服務 (發生錯誤)。(CVE-2021-27919)
- Go 1.17 之前版本未正確考量 IP 位址八位元組開頭的無關零字元,由於非預期的八進位轉譯,這 (在某些情況下) 允許攻擊者繞過以 IP 位址為基礎的存取控制。這會影響 net.ParseIP 和 net.ParseCIDR。(CVE-2021-29923)
- 在 Go 1.14.14 和 1.15.x 版的 1.15.7 之前版本中,crypto/elliptic/p224.go 可以生成不正確的輸出,此問題與最後完整還原過程中 P-224 欄位中最低分支的反向溢位相關。
(CVE-2021-3114)
- Windows 上的 Go 1.14.14 和 1.15.x 版的 1.15.7 之前版本在使用 go get 命令擷取利用 CGO 的模組時 (例如,CGO 可以從不受信任的下載來源執行 GCC 程序),很容易受到命令插入和遠端程式碼執行攻擊。(CVE-2021-3115)
- 1.15.12 版之前的 net/http (在 Go 中) 和 1.16.4 版之前的 1.16.x 允許遠端攻擊者透過傳送至 ReadRequest 或 ReadResponse 的大形標頭,以引發拒絕服務 (不穩定)。伺服器、傳輸和用戶端在某些組態中都會受到影響。(CVE-2021-31525)
- 1.15.13 之前的 Go 和 1.16.5 之前的 1.16.x 具有不驗證來自 DNS 伺服器的回覆的 DNS 查閱函式,因此傳回值可能包含不符合 RFC1035 格式的不安全插入 (例如 XSS)。(CVE-2021-33195)
- 在 Go 1.15.13 版和 1.16.x 的 1.16.5 之前版本中,封存/ZIP 中特製的檔案數(在封存的標頭中)可能會導致 NewReader 或 OpenReader 錯誤。(CVE-2021-33196)
- 在 1.15.13 版之前的 Go 和 1.16.5 版之前的 1.16.x,攻擊者可以利用 ReverseProxy 的一些配置 (來自 net/http/httputil) 插入任意標頭。
(CVE-2021-33197)
- 在 1.15.13 版之前的 Go 和 1.16.x 版之前的 1.16.5,大量使用 math/big.Rat SetString 或 UnmarshalText 方法可能會引起錯誤。(CVE-2021-33198)
- 在 Go 1.16.5 版以及之前的所有版本中,crypto/tls 套件在進行 RSA 型金鑰交換時,未正確宣告 X.509 憑證中的公開金鑰類型符合預期類型,惡意 TLS 伺服器會藉此造成 TLS 用戶端不穩定。(CVE-2021-34558)
- 1.15.15 之前的版本和 1.16.7 之前的 1.16.x 存在一個爭用情形,可導致 ErrAbortHandler 中止時發生 net/http/httputil ReverseProxy 錯誤。(CVE-2021-36221)
- 使用 GOARCH=wasm GOOS=js 時,Go 1.16.9 之前版本和 Go 1.17.x 至 1.17.2 版本會透過大型引數從 WASM 模組叫用函式來造成緩衝區溢位。(CVE-2021-38297)
- 在早於 1.16.10 版的 Go 和早於 1.17.x 版的 Go 1.17.3 中,debug/macho (針對 Open 或 OpenFat) 中的 ImportedSymbols 會存取緩衝區結尾後的記憶體位置,此情形亦即「超出邊界分割」。
(CVE-2021-41771)
- Go 1.16.10 之前版本和 Go 1.17.x 至 1.17.3 版本允許透過建構包含無效名稱或空白檔案名稱欄位的 ZIP 封存造成 archive/zip Reader.Open 錯誤。(CVE-2021-41772)
- 在早於 1.16.12 版的 Go 和早於 1.17.x 版的 Go 1.17.5 中,net/http 允許透過 HTTP/2 要求在標頭標準化快取中消耗不受控制的記憶體。(CVE-2021-44716)
- 由於在檔案描述符號耗儘後錯誤關閉檔案描述符號 0,因此 UNIX 上早於 1.16.12 的 Go 版本和早於 1.17.x 的 Go 1.17.5 版本允許寫入非預定檔案或非預定網路連線。(CVE-2021-44717)
- 在 Go 1.16.14 之前版本和 Go 1.17.x 至 1.17.7 版本中,math/big 的 Rat.SetString 內有溢位問題,可能導致不受控制的記憶體消耗。(CVE-2022-23772)
- 在 Go 1.16.14 之前版本和 1.17.x 至 1.17.7 版本中,cmd/go 會錯誤地將分支名稱解釋為版本標籤。如果執行者能夠建立分支,但不能建立標籤,此弱點有可能會導致不正確的存取控制問題。(CVE-2022-23773)
- 在 Go 1.16.14 之前版本和 Go 1.17.x 至 1.17.7 版本中,crypto/elliptic 內的 Curve.IsOnCurve 在 big.Int 值不是有效欄位元素的情況下,可能會不正確地傳回 true。(CVE-2022-23806)
- 在 Go 1.17.9 之前版本以及 1.18.x 的 1.18.1 之前版本中,encoding/pem 允許透過大量 PEM 資料造成解碼堆疊溢位問題。(CVE-2022-24675)
- Go 1.16.15 之前版本和 Go 1.17.x 至 1.17.8 版本中的 regexp.Compile 允許透過深度巢狀運算式造成堆疊耗盡。(CVE-2022-24921)
- 在 Go 1.18.x 版的 1.18.1 之前版本中,當提供某些格式錯誤的憑證時,crypto/x509 中的 Certificate.Verify 可能會在 macOS 上發生錯誤,這允許遠端 TLS 伺服器造成 TLS 用戶端發生錯誤。(CVE-2022-27536)
- 在 Go 1.17.9 之前版本以及 1.18.x 的 1.18.1 之前版本中,crypto/elliptic 的一般 P-256 特徵允許透過長純量輸入造成錯誤。(CVE-2022-28327)
- 在 Go 1.17.10 之前版本和 1.18.2 之前的 1.18.x 版本中具有不正確的權限指派。使用非零旗標參數呼叫時,Faccessat 函式可能會錯誤報告檔案可供存取。
(CVE-2022-29526)
- golang:net/http:不當清理 Transfer-Encoding 標頭 (CVE-2022-1705)
- golang:encoding/xml:Decoder.Skip 中的堆疊耗盡弱點 (CVE-2022-28131)
- grafana-8.5.6-1.fc37 的自動更新。##### **變更記錄** ``` * 2022 年 6 月 29 日星期三 Andreas Gerstmayr <[email protected]> 8.5.6-1 - 更新標記 8.5.6 的上游社群原始程式碼,請參閱變更記錄 - 已更新 AGPLv3 的授權 - 在 /etc/grafana/grafana.ini 中放置加註解的範例組態檔案 - 在構建程序中啟用 Go 模組 - 根據 yarn v3 和 Zero Install 功能調整 Node.js bundling * Sun 2022 年 6 月 19 日 Robert-Andr Mauchin <[email protected]> - 7.5.15-3 - 針對 CVE-2022-1996、CVE-2022-24675、CVE-2022-28327、CVE-2022-27191、CVE-2022-29526、CVE-2022-30629 重新構建``` (CVE-2022-30629)
- golang:io/fs:Glob 中的堆疊耗盡弱點 (CVE-2022-30630)
- golang:compress/gzip:Reader.Read 中的堆疊耗盡弱點 (CVE-2022-30631)
- golang:path/filepath:Glob 中的堆疊耗盡弱點 (CVE-2022-30632)
- golang:encoding/xml:Unmarshal 中的堆疊耗盡弱點 (CVE-2022-30633)
- golang:encoding/gob:Decoder.Decode 中的堆疊耗盡弱點 (CVE-2022-30635)
- golang:net/http/httputil:NewSingleHostReverseProxy - 省略 X-Forwarded-For 無法運作 (CVE-2022-32148)
- Go 專案報告:encoding/gob 與 math/big:解碼 big.Float 和 big.Rat 可能會發生錯誤。如果編碼的訊息太短,則解碼 big.Float 和 big.Rat 類型可能會發生錯誤。
(CVE-2022-32189)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
所有 Go 使用者皆應升級至最新版本: # emerge --sync # emerge --ask --oneshot
--verbose >=dev-lang/go-1.18.5 此外,使用 Portage 3.0.9 或更新版本的使用者應重建 @golang-rebuild 集,以確保具有 Go 二進位檔的套件沒有包含弱點的程式碼以靜態方式連結至其二進位檔:
# emerge --ask --oneshot --verbose @golang-rebuild
Plugin 詳細資訊
檔案名稱: gentoo_GLSA-202208-02.nasl
支援的感應器: Nessus
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
時間媒介: CVSS:3.0/E:P/RL:O/RC:C
弱點資訊
CPE: p-cpe:/a:gentoo:linux:go, cpe:/o:gentoo:linux
必要的 KB 項目: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list
可輕鬆利用: Exploits are available
參考資訊
CVE: CVE-2020-28366, CVE-2020-28367, CVE-2021-27918, CVE-2021-27919, CVE-2021-29923, CVE-2021-3114, CVE-2021-3115, CVE-2021-31525, CVE-2021-33195, CVE-2021-33196, CVE-2021-33197, CVE-2021-33198, CVE-2021-34558, CVE-2021-36221, CVE-2021-38297, CVE-2021-41771, CVE-2021-41772, CVE-2021-44716, CVE-2021-44717, CVE-2022-1705, CVE-2022-23772, CVE-2022-23773, CVE-2022-23806, CVE-2022-24675, CVE-2022-24921, CVE-2022-27536, CVE-2022-28131, CVE-2022-28327, CVE-2022-29526, CVE-2022-30629, CVE-2022-30630, CVE-2022-30631, CVE-2022-30632, CVE-2022-30633, CVE-2022-30635, CVE-2022-32148, CVE-2022-32189