Go 1.17.7 のリリース【セキュリティ・アップデート】
Go 1.17.7 がリリースされた。
今回は3件の脆弱性修正を含んでいる。
go1.17.7 (released 2022-02-10) includes security fixes to the.crypto/elliptic
,math/big
packages and to the go command, as well as bug fixes to the compiler, linker, runtime, the go command, and thedebug/macho
,debug/pe
, andnet/http/httptest
packages. See the Go 1.17.7 milestone on our issue tracker for details
CVE-2022-23806: crypto/elliptic: fix IsOnCurve for big.Int values that are not valid coordinates
Some.big.Int
values that are not valid field elements (negative or overflowing) might causeCurve.IsOnCurve
to incorrectly return true. Operating on those values may cause a panic or an invalid curve operation. Note thatUnmarshal
will never return such values
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
- 深刻度: 緊急 (Score: 9.1)
基本評価基準 | 評価値 |
---|---|
攻撃元区分 | ネットワーク |
攻撃条件の複雑さ | 低 |
必要な特権レベル | 不要 |
ユーザ関与レベル | 不要 |
スコープ | 変更なし |
機密性への影響 | なし |
完全性への影響 | 高 |
可用性への影響 | 高 |
CVE-2022-23772: math/big: prevent large memory consumption in Rat.SetString
An attacker can cause unbounded memory growth in a program using.(*Rat).SetString
due to an unhandled overflow
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- 深刻度: 重要 (Score: 7.5)
基本評価基準 | 評価値 |
---|---|
攻撃元区分 | ネットワーク |
攻撃条件の複雑さ | 低 |
必要な特権レベル | 不要 |
ユーザ関与レベル | 不要 |
スコープ | 変更なし |
機密性への影響 | なし |
完全性への影響 | なし |
可用性への影響 | 高 |
CVE-2022-23773: cmd/go: prevent branches from materializing into versions
A branch whose name resembles a version tag (such as “.v1.0.0
” or “subdir/v2.0.0-dev
”) can be considered a valid version by the go command. Materializing versions from branches might be unexpected and bypass ACLs that limit the creation of tags but not branches
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- 深刻度: 重要 (Score: 7.5)
基本評価基準 | 評価値 |
---|---|
攻撃元区分 | ネットワーク |
攻撃条件の複雑さ | 低 |
必要な特権レベル | 不要 |
ユーザ関与レベル | 不要 |
スコープ | 変更なし |
機密性への影響 | なし |
完全性への影響 | 高 |
可用性への影響 | なし |
例によって…
Ubuntu の APT で管理している Go コンパイラは古いので,ダウンロードページからバイナリ(go1.17.7.linux-amd64.tar.gz
)を取ってきてインストールすることを強く推奨する。
以下は完全手動での作業例。
$ cd /usr/local/src
$ sudo curl -L "https://go.dev/dl/go1.17.7.linux-amd64.tar.gz" -O
$ cd ..
$ sudo unlink go # 以前の Go が入っている場合
$ sudo tar xvf src/go1.17.7.linux-amd64.tar.gz
$ sudo mv go go1.17.7
$ sudo ln -s go1.17.7 go
$ go version # /usr/local/go/bin にパスが通っている場合
go version go1.17.7 linux/amd64
アップデートは計画的に。
参考図書
- プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
- Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
- 丸善出版 2016-06-20
- 単行本(ソフトカバー)
- 4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN)
- 評価
著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。と思ったら絶版状態らしい(2025-01 現在)。復刊を望む!