SUSE SLED15 / SLES15 /openSUSE 15 セキュリティ更新:go1.22-openssl(SUSE-SU-2024:3938-1)

critical Nessus プラグイン ID 210583

Language:

概要

リモートの SUSE ホストに 1 つ以上のセキュリティ更新がありません。

説明

リモートの SUSE Linux SLED15 / SLED_SAP15 / SLES15 / SLES_SAP15 / openSUSE 15 ホストには、SUSE-SU-2024:3938-1 のアドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。

この更新は go1.22-openssl 1.22.7.1 で出荷されます(jsc#SLE-18320)

- go1.22.7-1-openssl-fips のタグ付けされたリビジョンの go1.22-fips-release ブランチからカットされたバージョン 1.22.7.1 に更新してください。

* Go 1.22.7 に更新してください (#229)

- go1.22.7 (2024 年 9 月 5 日リリース) には、encoding/gob、go/build/constraint、go/parser パッケージへのセキュリティ修正に加え、fix コマンドおよびランタイムのバグ修正が含まれています。

CVE-2024-34155 CVE-2024-34156 CVE-2024-34158:
- go#69142 go#69138 bsc#1230252 セキュリティ: CVE-2024-34155 go/parser:全 Parse* 関数のスタック枯渇を修正(CVE-2024-34155)
- go#69144 go#69139 bsc#1230253 セキュリティ: CVE-2024-34156 encoding/gob を修正します:Decoder.Decode でのスタック枯渇(CVE-2024-34156)
- go#69148 go#69141 bsc#1230254 セキュリティ: CVE-2024-34158 go/build/constraint を修正:Parse のスタック枯渇(CVE-2024-34158)
- go#68811 os: TestChtimes の失敗
- go#68825 cmd/fix:go ディレクティブ値が Go で導入された「1.n.m」形式のモジュールで実行できません 1.21.0
- go#68972 cmd/cgo: aix c-archive によるスタックの破損

- go1.22.6(2024 年 8 月 6 日リリース)には、go コマンド、コンパイラ、リンカー、trace コマンド、covdata コマンド、および bytes、go/types、os/exec パッケージの修正が含まれています。

* go#68594 cmd/compile:ゼロサイズタイプによる内部コンパイラエラー
* go#68546 cmd/trace/v2:pprof プロファイルは常に空です
* go#68492 cmd/covdata:for ループで f.Close() を延期するため、開いているファイルが多すぎます
* go#68475 バイト:メモリ使用率が js/wasm で 2^31 を超える場合、IndexByte が -4294967295 を返す可能性があります
* go#68370 go/types:最近の範囲ステートメントチェックロジックのアサーション失敗
* go#68331 os/exec:Windows に絶対パスがあるコマンドを使用して *Cmd が作成された場合に、パスへの変更が無視される
* go#68230 cmd/compile:競合の有無にかかわらず、Go 1.22+arm64 での一貫性のない整数算術結果
* go#68222 cmd/go:export 付きのリストで、 -covermode=atomic が構築に失敗します
* go#68198 cmd/link:Xcode 16 ベータの問題

- go1.22.5-3-openssl-fips のタグが付いたリビジョンの go1.22-fips-release ブランチからカットされたバージョン 1.22.5.3 に更新してください。

* fips == '1' の場合のみ openssl をロードします GOLANG_FIPS が 1 でない場合は常に openssl をロードしないようにします。
以前は、未設定の変数のみがライブラリのロードをスキップさせていましたが、ユーザーは eg.
openssl のない環境では GOLANG_FIPS=0。

- go1.22.5-2-openssl-fips のタグ付けされたリビジョンの go1.22-fips-release ブランチから切り取られたバージョン 1.22.5.2 に更新してください。

* FIPS モードの場合のみ、OpenSSL をロードします

- go1.22.5-1-openssl-fips のタグ付けされたリビジョンの go1.22-fips-release ブランチから切り取られたバージョン 1.22.5.1 に更新してください。

* go1.22.5 に更新

- go1.22.5(2024 年 7 月 2 日リリース)には、net/http パッケージに対するセキュリティ修正、ならびにコンパイラ、cgo、go コマンド、リンカー、ランタイム、crypto/tls、go/types、net、net/http、os/exec パッケージのバグ修正が含まれています。

CVE-2024-24791:
* go#68200 go#67555 bsc#1227314 セキュリティ:net/http CVE-2024-24791 CVEを修正:expect:100-continue 処理がさまざまな方法で破損します
* go#65983 cmd/compile:ハッシュできないタイプのハッシュ
* go#65994 crypto/tls:tlsrsakex を呼び出す際のセグメンテーション違反。IncNonDefault()
* go#66598 os/exec:「.exe」なしの絶対パスに手動で Cmd.Path を設定した後、Cmd.Start を呼び出すと、Go で暗黙的に「.exe」が追加されなくなりました 1.22
* go#67298 ランタイム:Go 1.21 にアップグレードした後の amd64 の「fatal: morestack on g0」、古い境界
* go#67715 cmd/cgo/internal/swig、cmd/go、x/build:swig cgo テストはビルダーの C++ ツールチェーンと互換性がありません
* go#67798 cmd/compile:内部コンパイラエラー:予期しない型:for-range 内の <nil> (<nil>)
* go#67820 cmd/compile:定数の依存関係を伴うパッケージレベルの変数初期化が、Go 仕様で指定された順序と一致しません
* go#67850 go/internal/gccgoimporter:go ビルドが gcc で失敗します 14.1.0
* go#67934 net:go DNS リゾルバーがローカル DNS サーバーに接続できません
* go#67945 cmd/link:ダーウィンの cgo とリンクするテストで -fuzz を使用すると、リンカーエラーが発生します
* go#68052 cmd/go:go list -u -m all がモジュールのロードに失敗します 撤回:モジュールには go >= 1.N+1 が必要です(go 1.N 実行)
* go#68122 cmd/link:runtime.mach_vm_region_trampoline:シンボル libc_mach_task_self_ のサポートされていない動的再配置(type=29 (R_GOTPCREL) stype=46 (SDYNIMPORT))

- go1.22.4-1-openssl-fips のタグ付けされたリビジョンで go1.22-fips-release ブランチからカットされたバージョン 1.22.4.1 に更新してください。

* go1.22.4 に更新

- go1.22.4 (2024 年 6 月 4 日リリース) には、archive/zip および net/netip パッケージのセキュリティ修正に加え、コンパイラ、go コマンド、リンカー、ランタイム、OS パッケージのバグ修正が含まれています。

CVE-2024-24789 CVE-2024-24790:
* go#67554 go#66869 bsc#1225973 セキュリティ: CVE-2024-24789 archive/zip を修正:EOCDR コメント長の処理が、他の ZIP 実装と一貫性がありません
* go#67682 go#67680 bsc#1225974 セキュリティ: CVE-2024-24790 net/netip を修正:IPv4 にマップされた IPv6 アドレスに対する Is メソッドからの予期しない挙動
* go#67188 runtime/metrics:/memory/classes/heap/unused:bytes スパイク
* go#67212 cmd/compile:qemu-mips64 による mips64 での SIGBUS のアラインされていないアクセス
* go#67236 cmd/go:「go 1.21」で mod tidy レポートツールチェーンを利用できません
* go#67258 runtime:予期しない障害アドレス 0
* go#67311 cmd/go:TestScript/gotoolchain_issue66175 がローカルのチップで失敗します
* go#67314 cmd/go、cmd/link:再現不能なLC_UUIDのため、LUCI gotip-darwin-amd64-longtest ビルダーで TestScript/build_issue48319 および TestScript/build_plugin_reproducible が失敗します
* go#67352 crypto/x509:接続が壊れているため、Windowsで TestPlatformVerifier が失敗します
* go#67460 cmd/compile:内部コンパイラエラー:整数値を超える範囲でのパニック
* go#67527 cmd/link:panic:machorelocsect:サイズの不一致
* go#67650 ランタイム:ランタイム開始前に C コンストラクターを介して clone(CLONE_PARENT) を実行した後の SIGSEGV
* go#67696 os:RemoveAll がシンボリックリンク競合に影響を受けやすい

- go1.22.3-3-openssl-fips のタグ付けされたリビジョンの go1.22-fips-release ブランチから切り取られたバージョン 1.22.3.3 に更新してください。

* config:openssl バックエンドを更新します(#201)

- go1.22.3-2-openssl-fips のタグ付けされたリビジョンで go1.22-fips-release ブランチから切り取られたバージョン 1.22.3.2 へ更新します。

* patches:HashSign/HashVerify の署名を復元します(#199)

- go1.22.3-1-openssl-fips のタグ付けされたリビジョンの go1.22-fips-release ブランチから切り取られたバージョン 1.22.3.1 に更新してください。

* go1.22.3 に更新してください
* 修正:パッチファイルの名前を変更します
* Go1.22(#193)ランタイムに変更https://go-review.googlesource.com/c/go/+/554615バックポート:テストで遅いマシンに対して、できるだけ早くクラッシュさせ、合計スリープ時間を延長します 少数のスレッドで実行しても、通常 500 ミリ秒がクラッシュするのに必要ないため、できるだけ早くクラッシュさせてください。テストのために遅いマシンでより多くの時間がかかる可能性がありますが、テストのスリープ時間を延長してみてください。
* cmd/go:Go ツールチェーンコマンドの CGO を再度有効にします(#190)
* crypto/ecdsa:HashSign および HashVerify(#189)を復元します

- go1.22.3 (2024 年 5 月 7 日リリース) には、go コマンドと net パッケージのセキュリティ修正、コンパイラ、ランタイム、net/http パッケージのバグ修正が含まれています。

CVE-2024-24787 CVE-2024-24788:
* go#67122 go#67119 bsc#1224017 セキュリティ: CVE-2024-24787 cmd/go を修正します:darwin でのビルド中の任意のコード実行
* go#67040 go#66754 bsc#1224018 セキュリティ: CVE-2024-24788 net:extractExtendedRCode における高い CPU 使用率を修正
* go#67018 cmd/compile:Go 1.22.x を 386 から ppc64le へブートストラップできませんでした
* go#67017 cmd/compile:ホットコンクリートメソッドをインターフェイスメソッドに変更すると、PGO ICE がトリガーされます
* go#66886 ランタイム:プロセス境界を越える決定論的フォールバックハッシュ
* go#66698 net/http:TestRequestLimit/h2 は x/[email protected] 以降、著しく高コストになり、低速化します

- go1.22.2-1-openssl-fips のタグが付いたリビジョンの go1.22-fips-release ブランチから切り取られたバージョン 1.22.2.1 に更新してください。

* go1.22.2 に更新してください

- go1.22.2(2024 年 4 月 3 日リリース)には、net/http パッケージに対するセキュリティ修正のほか、コンパイラ、go コマンド、リンカー、encoding/gob、go/types、net/http、runtime/trace パッケージのバグ修正が含まれています。

CVE-2023-45288:
* go#66298 go#65051 bsc#1221400 セキュリティ: CVE-2023-45288 net/http、x/net/http2 を修正します:過剰なヘッダーを受信する場合、接続を切断します
* go#65858 cmd/compile:GODEBUG=gotypesalias=1 による到達不能パニック
* go#66060 cmd/link:RISC-V 外部リンク、 HI20 再配置のためのテキスト記号を見つけることができませんでした
* go#66076 cmd/compile:arm64 の Go 1.22.0 における uint32 変換およびモジュール演算の領域外パニック
* go#66134 cmd/compile:go test 。結果が CLOSURE ... <unknown line number>:内部コンパイラエラー:
アサーションに失敗しました
* go#66137 cmd/go:go 1.22.0:coverpkg 引数にリストされていないフォルダを処理するときに、go テストがエラーをスローします
* go#66178 cmd/compile:ICE:パニック:インターフェイス変換:irノードは *ir です。*ir ではなく ConvExpr。IndexExpr
* go#66201 runtime/trace:v2 トレースに、Windows の不適切なタイムスタンプ倍率が含まれています
* go#66255 net/http:http2 ラウンドトリッパー nil ポインターデリファレンスによりパニックが発生し、デッドロックが発生します
* go#66256 cmd/go:git shallow フェッチが CL 556358で破損します
* go#66273 crypto/x509:証明書は Go1.22 のエンコーディング/gob を使用してエンコードできなくなりました
* go#66412 cmd/link:ppc64le のシンボル runtime.elf_savegpr0.args_stackmap に対する不適切なキャリアシンボリック

- go1.22.1-2-openssl-fips のタグ付けされたリビジョンの go1.22-fips-release ブランチから切り取られたバージョン 1.22.1.2 に更新してください。

* config:openssl v2 モジュールを更新(#178)

- コンパイル済み共有オブジェクト libstd.so 用のサブパッケージ go1.x-openssl-libstd を削除します。

* go1.x Tumbleweed でのみ実験的な libstd の構築を継続します。
* 削除により、go1.x-openssl Factory および ALP のビルドエラーが修正されます。
* libstd.so の使用は実験段階であり、一般的な使用には推奨されません。Go には現在 ABI がありません。
* 機能 go ビルド -buildmode=shared が Upstream により廃止されましたが、まだ削除されていません。

- 最初のパッケージ go1.22-openssl バージョン 1.22.1.1 go1.22.1-1-openssl-fips のタグ付けされたリビジョンで go1.22-fips-release ブランチから切り取られました。

* Go Upstream は、go1.19+ のブランチ dev.boringcrypto をマージしました。
* go1.x では、GOEXPERIMENT=boringcrypto を通じて BoringCrypto を有効にします。
* go1.x-openssl では、環境変数 GOLANG_FIPS=1 を介して、またはホストを FIPS モードで起動することで、FIPS モード(またはパッケージの名前の通りボーリングモード)を有効にします。
* オペレーティングシステムが FIPS モードで動作している場合、crypto/tls/fipsonly をインポートする Go アプリケーションは、FIPS 暗号スイートに操作を制限します。
* go1.x-openssl は go1.x に対する 2 つの大きなパッチとして提供され、Go 暗号化ライブラリが外部暗号ライブラリとして OpenSSL を使用するために必要な変更を適用した go1.x GitHub プロジェクトから必要な変更が適用され、FIPS に準拠した方法で。
* go1.x-openssl は、crypto/* パッケージを修正して、暗号オペレーションに OpenSSL を使用します。
* go1.x-openssl は OpenSSL を呼び出すのに dlopen() を使用します。
* SUSE RPM パッケージでは、golang-fips/go patchset タグ付きリビジョンに対応する 4 番目のバージョン数字 go1.x.y.z が導入されています。
* パッチセットの改善は、Upstream Go メンテナンスリリースとは独立して更新される可能性があります。

- go1.22.1(2024 年 3 月 5 日リリース)には、crypto/x509、html/template、net/http、net/http/cookiejar、net/mail パッケージに対するセキュリティ修正に加え、コンパイラ、go コマンド、runtime、trace コマンド、go/types および net/http パッケージに対するバグ修正が含まれています。

CVE-2023-45289 CVE-2023-45290 CVE-2024-24783 CVE-2024-24784 CVE-2024-24785:
* go#65831 go#65390 bsc#1220999 セキュリティ: CVE-2024-24783 crypto/x509 の修正:不明な公開鍵アルゴリズムで証明書のパニックを検証
* go#65849 go#65083 bsc#1221002 security: CVE-2024-24784 net/mailを修正:表示名のコメントが不適切に処理されます
* go#65850 go#65383 bsc#1221001 セキュリティ: CVE-2023-45290 net/http を修正:Request.ParseMultipartForm のメモリ枯渇
* go#65859 go#65065 bsc#1221000 セキュリティ: CVE-2023-45289 net/http、net/http/cookiejar を修正します:HTTPリダイレクトでの機密ヘッダーとクッキーの不適切な転送
* go#65969 go#65697 bsc#1221003 セキュリティ:html/template CVE-2024-24785 を修正します:MarshalJSON メソッドから返されるエラーにより、テンプレートのエスケープが壊れる可能性があります
* go#65352 cmd/go:ネスト化されたワークスペースモジュールのパッケージで実行すると、go 生成がサイレントに失敗します
* go#65471 internal/testenv:LUCI noopt ビルダーでの TestHasGoBuild の失敗
* go#65474 internal/testenv:testenv テストで LUCI モバイルビルダーをサポートします
* go#65577 cmd/trace/v2:goroutine 分析ページが goroutine を一貫して識別しません
* go#65618 cmd/compile:内部/saferio 変更時1.21 PGO プロファイルで、Go 1.22 ビルドが失敗します
* go#65619 cmd/compile:Go 1.22 、go を宣言するモジュールのサポートを変更します 1.0
* go#65641 cmd/cgo/internal/testsanitizers、x/build:LUCI clang15 ビルダーが失敗します
* go#65644 runtime:実行トレーサーが CPU プロファイルバッファから読み取る際の競合検出器でのクラッシュ
* go#65728 go/types:Alias.Underlying() の nil ポインターデリファレンス
* go#65759 net/http:コンテキストキャンセルにより、クライアントHTTP Go1.22 の HTTP/1.1 接続のデッドロックを発生させてしまう可能性があります
* go#65760 ランタイム:Go 1.22.0 が、armv7 Alpine Linux のソースからの構築に失敗します
* go#65818 runtime:go1.22.0 test with -race は SIGSEGV または SIGBUS または Bad ポインターになります
* go#65852 cmd/go:go.work での「ziphash なし」エラー
* go#65883 runtime:スケジューラが wasm プラットフォーム上の実行可能な goroutine を枯渇させることがあります

* bsc#1219988 go ツール dist と go ツール distpack で必要とされるため、VERSION ファイルが GOROOT に存在することを確認

- go1.22(2024 年 2 月 6 日リリース)は、Go のメジャー リリースです。
go1.22.x のマイナーリリースは、2024 年 2 月まで提供されます。
https://github.com/golang/go/wiki/Go-Release-Cyclego1.22 go1.21 の 6 か月後に登場します。変更のほとんどは、ツールチェーン、ランタイム、およびライブラリの実装に含まれています。
これまでどおり、このリリースはGo 1の互換性保証を維持します。ほぼすべてのGoプログラムが以前と同様に引き続きコンパイルおよび実行されることが予想されます。

* 言語変更:go1.22 は for ループに 2 つの変更を加えます。
以前は、for ループによって宣言される変数は、一度作成され、反復するたびに更新されていました。go1.22では、ループが繰り返されるたびに新しい変数が作成され、バグが偶発的に共有されるのを回避します。提案書で説明されている移行サポートツールは、Go 1.21 で行ったのと同じように引き続き機能します。
* 言語変更:For ループの範囲が整数を超えるようになりました
* 言語変更:go1.22 には、Go の将来のバージョンで検討されている言語変更のプレビューが含まれています。
range-over-function イテレータ。GOEXPERIMENT=rangefunc で構築すると、この機能が有効になります。
* go コマンド:ワークスペースのコマンドが、ワークスペースの依存関係を含むベンダーディレクトリを使用できるようになりました。ディレクトリはgo work vendorによって作成され、-modフラグがvendorに設定されている場合(ワークスペースベンダーディレクトリが存在する場合のデフォルト)にビルドコマンドによって使用されます。ワークスペースのベンダーディレクトリのコンテンツは、単一のモジュールのコンテンツとは異なることに注意してください。ワークスペースのルートのディレクトリにワークスペース内のモジュールの 1 つも含まれている場合、そのベンダーディレクトリにはワークスペースまたはモジュールのいずれかの依存関係を含めることができますが、両方を含めることはできません。
* go get は、モジュールの外部のレガシー GOPATH モード(つまり GO111MODULE=off)ではサポートされなくなりました。go buildやgo testなどの他のビルドコマンドは、レガシーGOPATHプログラムに対して無期限に機能し続けます。
* go mod init は、他のベンダリングツール(Gopkg.lock など)の構成ファイルからモジュール要件のインポートを試みなくなりました。
* go test -cover は独自のテストファイルを持たない対象パッケージのカバレッジサマリーを出力するようになりました。Go 1.22 以前は、そのようなパッケージに対してgo test -coverを実行すると、次のように報告されていました:? mymod/mypack [テストファイルなし]、そしてgo1.22では、パッケージ内の関数はカバーされていないものとして扱われます:mymod/mypackのカバレッジ:
0.0ステートメントの% パッケージに実行可能コードがまったく含まれていない場合、意味のあるカバレッジの割合を報告できないことに注意してください。このようなパッケージについては、go ツールはテストファイルがないことをレポートし続けます。
* trace:新しいトレーサーをサポートする作業の一環として、トレースツールの Web UI が緩やかにリフレッシュされ、いくつかの問題が解決され、さまざまなサブページの読みやすさが向上しました。Web UI は、スレッド指向のビューでのトレースの探索をサポートするようになりました。トレースビューアーは、すべてのシステムコールの全期間を表示するようになりました。これらの改善は、go1.22 以降で構築されたプログラムによって生成されたトレースの表示にのみ適用されます。今後のリリースでは、古いバージョンの Go によって生成されたトレースに対して、これらの改善の一部が行われます。
* vet:ループ変数への参照 vet ツールの動作は、go1.22 のループ変数の新しいセマンティクス(上記参照)に一致するように変更されました。go1.22 またはそれ以降を必要とするファイルを分析する際に(go.mod ファイルまたはファイルごとのビルドの制約のため)、vetcode> は、ループの反復よりも長存する可能性のある関数リテラル内からのループ変数への参照を報告しなくなりました。Go 1.22では、ループ変数は反復ごとに新しく作成されるため、そのような参照は、ループによって更新された後に変数を使用するリスクがなくなります。
* vet:追加後の欠損値に対する新しい警告。vet ツールは、slice = append(slice) のように、スライスに追加する値を受け渡さない追加呼び出しを報告するようになりました。そのような声明には効果がなく、経験上、それはほとんど常に間違いであることがわかっています。
* vet:時間の遅延に関する新しい警告。以降、獣医ツールは時刻までの延期されていない通話を報告するようになりました。延期ステートメント内の Since(t)。これは時間を呼び出すのと同じです。Now() を使用します。deferred 関数が呼び出されたときではなく、defer ステートメントの前に sub(t)。ほとんどの場合、正しいコードには時間を延期する必要があります。コール以来。
* vet:log/slog 呼び出しで一致しないキーと値のペアに対する新しい警告 vet ツールは現在、構造化ロギングパッケージ log/slog の関数とメソッドの呼び出しで、交互のキー/値のペアを受け入れる無効な引数を報告するようになりました。これは、キー位置の引数が文字列でもスログでもない呼び出しをレポートします。属性、および最後のキーにその値が欠落している場合。
* runtime:ランタイムは、型ベースのガベージコレクションメタデータを各ヒープオブジェクトに近づけるようになり、GoプログラムのCPUパフォーマンス(レイテンシまたはスループット)が1〜3%向上します。また、この変更により、冗長なメタデータの重複排除により、大多数の Go プログラムのメモリオーバーヘッドが約 1% 削減されます。この変更によりメモリアロケーターのサイズクラス境界が調整されるため、一部のプログラムでは改善が小さい場合があり、一部のオブジェクトはサイズクラス上に移動される可能性があります。
この変更の結果、以前は常に 16 バイト(またはそれ以上)の境界に整列されていた一部のオブジェクトのアドレスが、8 バイトの境界にしか整列されないようになります。メモリアドレスを 8 バイト以上のアライメントに要求し、メモリアロケーターの以前のアライメント動作に依存するアセンブリ命令を使用するプログラムの一部が破損する可能性がありますが、そのようなプログラムはまれであると予想されます。このようなプログラムは、GOEXPERIMENT=noallocheaders で構築して、古いメタデータレイアウトに戻し、以前の配置動作を復元できますが、この回避策は将来のリリースで削除されるため、パッケージ所有者はアセンブリコードを更新して配置の想定を回避する必要があります。
* runtime:windows/amd64 ポートで、-buildmode=c-archive または
-buildmode=c-shared は、SetUnhandledExceptionFilter Win32 関数を使用して、Go ランタイムで処理されない例外をキャッチできるようになりました。これは、Windows/386 ポートですでにサポートされていたことに注意してください。
* コンパイラ:プロファイルガイド最適化(PGO)ビルドは、以前よりも高い割合の呼び出しを仮想化解除できるようになりました。現在、代表的な Go プログラムセットのほとんどのプログラムは、PGO を有効にすることで 2% から 14% の改善が見られます。
* コンパイラ:コンパイラがデ仮想化とインライン化をインターリーブし、インターフェイスメソッドの呼び出しがより最適化されるようになりました。
* コンパイラ:go1.22 には、コンパイラのインライン化フェーズの強化された実装のプレビューも含まれています。これは、ヒューリスティックを使用して、「重要」と見なされる呼び出しサイト(ループ内など)でのインライン可能性を高め、「重要でない」と見なされる呼び出しサイト(パニックパスなど)でのインライニングを思いとどまらせないようにします。GOEXPERIMENT=newinlinerで構築すると、新しいコールサイトヒューリスティックが可能になります。詳細とフィードバックについては、問題 #61502 を参照してください。
* linker:リンカーの -s および -w フラグが、すべてのプラットフォームでより一貫して動作するようになりました。-w フラグは、DWARF デバッグ情報の生成を抑制します。-s フラグはシンボルテーブルの生成を抑制します。-s フラグは -w フラグも暗示しますが、これは -w=0 で否定できます。つまり、-s -w=0 は、DWARF デバッグ情報生成でバイナリを生成しますが、シンボルテーブルは含まれていません。
* linker:ELF プラットフォーム上で、-B リンカーフラグが特殊な形式を受け入れるようになりました: -B gobuildid を使用すると、リンカーは Go ビルド ID から派生した GNU ビルド ID(ELF NT_GNU_BUILD_ID注)を生成します。
* linker:Windowsでは、 -linkmode=internalを使用してビルドするとき、リンカーは.pdataセクションと.xdataセクションを最終的なバイナリにコピーすることにより、CオブジェクトファイルからSEH情報を保持するようになりました。これは、WinDbg などのネイティブ ツールを使用したバイナリのデバッグとプロファイリングに役立ちます。注意:これまで C 関数の SEH 例外ハンドラーは遵守されていなかったため、この変更により一部のプログラムの挙動が異なる場合があります。
-linkmode=external は、外部リンカーがすでに SEH 情報を保持しているため、この変更による影響を受けません。
* ブートストラップ:Go 1.20 リリースノートで説明されているように、go1.22ではブートストラップにGo 1.20 以降の最終ポイントリリースが必要になりました。ブートストラップには、Go 1.24 の最終ポイントリリースであるgo1.22以降が必要になると予想されます。
* コアライブラリ:新しい math/rand/v2 パッケージ:go1.22 には、標準ライブラリの最初の v2 パッケージである math/rand/v2 が含まれています。math/rand と比較した変更点は、提案書 go#61716 で詳しく説明されています。最も重要な変更は以下のとおりです。
- math/rand で非推奨の Read メソッドが、math/rand/v2 には引き継がれませんでした。(これは引き続き math/rand で利用可能です。)Read への呼び出しの大部分は、代わりに crypto/rands Read を使用する必要があります。それ以外の場合は、Uint64メソッドを使用してカスタムReadを構築できます。
- トップレベルの関数によりアクセスされるグローバルジェネレーターは、無条件にランダムにシードされます。API は結果の固定シーケンスを保証しないため、スレッドごとのランダムジェネレーター状態などの最適化が可能になりました。
- Source インターフェイスに 1 つの Uint64 メソッドが含まれるようになりました。Source64 インターフェースはありません。
- 現在、多くのメソッドが、出力ストリームを変更したため、math/rand で採用できなかった、より高速なアルゴリズムを使用するようになりました。
- math/rand の Intn、Int31、Int31n、Int63、および Int64n の最上位関数とメソッドは、math/rand/v2 でより慣用的に綴られます: IntN、Int32、Int32N、Int64、および Int64N。新しいトップレベルの関数とメソッド Uint32、Uint32N、Uint64、Uint64N、Uint、および UintN もあります。
- 新しいジェネリック関数 N は Int64N や Uint64N に似ていますが、任意の整数型で機能します。たとえば、0 から 5 分までのランダムな期間はランドです。N(5*時間。分)。
- math/rands Source が提供する Mitchell & Reeds の LFSR ジェネレーターは、2 つの最新の擬似乱数ジェネレーターソース ChaCha8 PCG で置き換えられました。ChaCha8 は、新しい暗号的に強力な乱数発生器で、効率は PCG とほぼ同じです。ChaCha8 は、math/rand/v2 の最上位関数に使用されるアルゴリズムです。go1.22 の時点で、math/rand の最上位関数(明示的にシードされていない場合)と Go ランタイムもランダム性のために ChaCha8 を使用します。
- 今後のリリース、おそらく Go 1.23 に API 移行ツールを含める予定です。
* コアライブラリ:新しい go/version パッケージ:新しい go/version パッケージには、Go バージョン文字列を検証および比較する関数が実装されています。
* コアライブラリ:強化されたルーティングパターン:標準ライブラリでの HTTP ルーティングが、より表現力豊かになりました。net/http で使用されるパターン。ServeMux は、メソッドとワイルドカードを受け入れるように強化されています。この変更は、些細な方法で後方互換性を損なうもので、「{」および「}」を含むいくつかの明白なパターンは異なる動作をし、エスケープされたパスの処理が改善されました。この変更は、httpmuxgo121 という名前の GODEBUG フィールドによってコントロールされます。httpmuxgo121=1 を設定して、過去の挙動を復元します。
* ライブラリへのマイナーな変更 いつものように、ライブラリにはさまざまなマイナーな変更や更新がありますが、これは Go 1 の互換性の約束を念頭に置いて行われています。また、ここでは列挙しない、さまざまなパフォーマンスの改善もあります。
* archive/tar:新しいメソッド Writer.AddFS は、fs からすべてのファイルを追加します。アーカイブへのFS。
* archive/zip:新しいメソッド Writer.AddFS は、fs からすべてのファイルを追加します。アーカイブへのFS。
* bufio:SplitFuncがNilトークンを持つErrFinalTokenを返すとき、スキャナはすぐに停止するようになりました。以前は、停止する前に最後の空のトークンを報告していましたが、これは通常望ましくありませんでした。最終的な空のトークンを報告したい呼び出し元は、nil ではなく []byte{} を返すことで報告できます。
* cmp: 新しい関数 Or は、ゼロ値ではない一連の値の最初の関数を返します。
* crypto/tls: 1.3 が使用されていないか、extended_master_secret拡張機能がサーバーとクライアントの両方でサポートされていない限り、ConnectionState.ExportKeyingMaterial TLSエラーを返すようになりました。crypto/TLSはGo 1.20以来この拡張機能をサポートしています。これは、tlsunsafeekm=1 GODEBUG 設定で無効化できます。
* crypto/tls:デフォルトでは、config で指定しない場合、crypto/tls サーバーが提供する最小バージョンが 1.2 TLSするようになりました。MinimumVersion、crypto/tls クライアントの動作に一致...

注意: この説明は、長さの関係上省略されています。詳細については、ベンダーのアドバイザリを参照してください。

Tenable は、前述の記述ブロックを SUSE セキュリティアドバイザリから直接抽出しています。

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。

ソリューション

影響を受けるgo1.22-openssl、go1.22-openssl-doc、go1.22-openssl-raceパッケージを更新してください。

参考資料

https://bugzilla.suse.com/1218424

https://bugzilla.suse.com/1219988

https://bugzilla.suse.com/1220999

https://bugzilla.suse.com/1221000

https://bugzilla.suse.com/1221001

https://bugzilla.suse.com/1221002

https://bugzilla.suse.com/1221003

https://bugzilla.suse.com/1221400

https://bugzilla.suse.com/1224017

https://bugzilla.suse.com/1224018

https://bugzilla.suse.com/1225973

https://bugzilla.suse.com/1225974

https://bugzilla.suse.com/1227314

https://bugzilla.suse.com/1230252

https://bugzilla.suse.com/1230253

https://bugzilla.suse.com/1230254

https://www.suse.com/security/cve/CVE-2023-45288

https://www.suse.com/security/cve/CVE-2023-45289

https://www.suse.com/security/cve/CVE-2023-45290

https://www.suse.com/security/cve/CVE-2024-24783

https://www.suse.com/security/cve/CVE-2024-24784

https://www.suse.com/security/cve/CVE-2024-24785

https://www.suse.com/security/cve/CVE-2024-24787

https://www.suse.com/security/cve/CVE-2024-24788

https://www.suse.com/security/cve/CVE-2024-24789

https://www.suse.com/security/cve/CVE-2024-24790

https://www.suse.com/security/cve/CVE-2024-24791

https://www.suse.com/security/cve/CVE-2024-34155

https://www.suse.com/security/cve/CVE-2024-34156

https://www.suse.com/security/cve/CVE-2024-34158

http://www.nessus.org/u?d0961ae5

プラグインの詳細

深刻度: Critical

ID: 210583

ファイル名: suse_SU-2024-3938-1.nasl

バージョン: 1.2

タイプ: Local

エージェント: unix

公開日: 2024/11/8

更新日: 2026/6/26

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 5

パーセンタイル: 94.39

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 7.8

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS スコアのソース: CVE-2024-24790

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.8

ベクトル: 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:novell:suse_linux:go1.22-openssl, p-cpe:/a:novell:suse_linux:go1.22-openssl-doc, p-cpe:/a:novell:suse_linux:go1.22-openssl-race, cpe:/o:novell:suse_linux:15

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2024/11/7

脆弱性公開日: 2024/2/29

参照情報

CVE: CVE-2023-45288, CVE-2023-45289, CVE-2023-45290, CVE-2024-24783, CVE-2024-24784, CVE-2024-24785, CVE-2024-24787, CVE-2024-24788, CVE-2024-24789, CVE-2024-24790, CVE-2024-24791, CVE-2024-34155, CVE-2024-34156, CVE-2024-34158

SuSE: SUSE-SU-2024:3938-1