概要
リモートの SUSE ホストに 1 つ以上のセキュリティ更新がありません。
説明
リモートの SUSE Linux SLED15 / SLED_SAP15 / SLES15 / SLES_SAP15 / openSUSE 15 ホストには、SUSE-SU-2024:3773-1 のアドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。
この更新は、go1.23-openssl バージョン 1.23.2.2 を導入します。(jsc#SLE-18320)
- go1.23.2 (2024 年 10 月 1 日リリース) には、コンパイラ、cgo、runtime、および maps、os、os/exec、time、および unique パッケージに対する修正が含まれています。
* go#69119 os: 呼び出し側が os.StartProcess によって更新された pidfd を使用する場合、pidfd を二重に閉じます
* go#69156 maps: maps.Clone のセグメンテーション違反
* go#69219 cmd/cgo: 構造体内部の int128 のアライメント問題
* go#69240 unique: 致命的なエラー: 解放されたオブジェクトへのポインターが見つかりました
* go#69333 runtime,time: timer.Stop は、チャネルから値が読み取られない場合でも false を返します
* go#69383 unique: 小さなサブ文字列のみをインターニングした後も、大きな文字列はまだ参照されています
* go#69402 os/exec: exec 失敗時のリソース漏洩
* go#69511 cmd/compile: 不可解なクラッシュおよび range over 関数による非決定性
- タグ付けされた go1.23.1-1-openssl-fips で、go1.23-fips-release ブランチからのバージョン 1.23.1.1 カットに更新してください。
* Go 1.23.1 に更新してください (#238)
- go1.23.1 (2024 年 9 月 5 日リリース) には、encoding/gob、go/build/constraint、go/parser パッケージのセキュリティ修正と、コンパイラ、go コマンド、ランタイム database/sql、go/types、os、runtime/trace、および unique パッケージのバグ修正が含まれています。
CVE-2024-34155 CVE-2024-34156 CVE-2024-34158:
- go#69143 go#69138 bsc#1230252 セキュリティ: CVE-2024-34155 go/parser を修正: すべての Parse * 関数におけるスタックの枯渇
- go#69145 go#69139 bsc#1230253 セキュリティ: CVE-2024-34156 encoding/gob を修正: Decoder.Decode でのスタックの枯渇
- go#69149 go#69141 bsc#1230254 セキュリティ: CVE-2024-34158 go/build/constraint を修正: Parse でのスタックの枯渇
- go#68812 os: TestChtimes の失敗
- go#68894 go/types: エイリアスタイプでの「under」パニック
- go#68905 cmd/compile: ジェネリック、型エイリアス、およびインデックス付けによる Go 1.23.0 でのエラー
- go#68907 os: CopyFS は、宛先にある既存のファイルを上書きします。
- go#68973 cmd/cgo: aix c-archive によるスタックの破損
- go#68992 unique: any としてキャストされた文字列で unique.Make を呼び出す際のパニック
- go#68994 cmd/go: あらゆる呼び出しが、GOMODCACHE の下に読み取り専用のテレメトリ構成ファイルを作成します
- go#68995 cmd/go: qemu 経由のマルチアーキテクチャビルドが go バイナリの実行に失敗します
- go#69041 database/sql: database/sql.(*connRequestSet).deleteIndex でのパニック
- go#69087 runtime/trace: cgo-calling goroutine のコールスタックを収集する際に、traceAdvance 中にクラッシュします
- go#69094 cmd/go: GOPATH モードのバージョン制約のある 1.23rc2 の破壊的変更
- go1.23 (2024 年 8 月 13 日リリース) は、Go のメジャーリリースです。
go1.23.x マイナーリリースが、2025 年 8 月まで提供されます。
https://github.com/golang/go/wiki/Go-Release-Cyclego1.23 は、go1.22 から 6 か月後に到着します。変更のほとんどは、ツールチェーン、ランタイム、およびライブラリの実装に含まれています。
これまでどおり、このリリースはGo 1の互換性保証を維持します。ほぼすべてのGoプログラムが以前と同様に引き続きコンパイルおよび実行されることが予想されます。
* 言語の変更: Go 1.23 は、(Go 1.22)「range-over-func」実験を言語の一部にします。「for-range」ループの「range」節は、次のタイプの反復子関数を受け入れるようになりました。
func(func() bool) func(func(K) bool) func(func(K, V) bool) (範囲式として)。反復子引数関数の呼び出しは、「for-range」ループの反復値を生成します。詳細については、iter パッケージのドキュメントおよび言語仕様を参照してください。理由については、2022 年の「range-over-func」ディスカッションを参照してください。
* 言語の変更: Go 1.23 には、ジェネリック型エイリアスのプレビューサポートが含まれています。GOEXPERIMENT=aliastypeparams でツールチェーンを構築すると、パッケージ内でこの機能が有効になります。(パッケージの境界を越えた汎用エイリアスタイプの使用はまだサポートされていません。)
* Opt-in Telemetry: Go から 1.23、Go ツールチェーンは、Go ツールチェーンがどのように使用され、どのように機能しているかを Go チームが理解するのに役立つ使用率および破損統計を収集できます。これらの統計を Go テレメトリと呼びます。
Go テレメトリは、go telemetry コマンドによって制御されるオプトインシステムです。デフォルトでは、ツールチェーンプログラムは統計をカウンターファイルに収集します。このファイルはローカルで検査できますが、それ以外では使用されません (go telemetry local)。
Go を適切に動作させ、Go の使用状況を把握するために、go telemetry on を実行して Go telemetry にオプトインすることを検討してください。このモードでは、匿名のカウンターレポートが毎週 telemetry.go.dev にアップロードされ、そこでグラフに集約されるとともに、データの分析を希望する Go のコントリビューターまたはユーザーがダウンロードできるようになります。Go Telemetry システムの詳細については、「Go Telemetry」を参照してください。
* go コマンド: GOROOT_FINAL 環境変数を設定しても効果がなくなりました (#62047)。$GOROOT/bin/go 以外の場所に go コマンドをインストールするディストリビューションは、go バイナリを移動またはコピーする代わりに、シンボリックリンクをインストールする必要があります。
* go コマンド: 新しい go env -changed フラグにより、コマンドは、有効な値が、-w フラグを以前に使用していない空の環境で取得されるデフォルト値と異なる設定のみを印刷します。
* go コマンド: 新しい go mod tidy -diff フラグにより、コマンドはファイルを変更せず、代わりに必要な変更を統一された diff として出力します。更新が必要な場合は、ゼロ以外のコードで終了します。
* go コマンド: go list -m -json コマンドに、新しい Sum と GoModSum フィールドが含まれるようになりました。これは、go mod download -json コマンドの既存の動作に似ています。
* go コマンド: go.mod と go.work の新しい godebug ディレクティブは、使用中の作業モジュールまたはワークスペースに適用する GODEBUG 設定を宣言します。
* go vet: go vet サブコマンドに stdversion アナライザーが含まれるようになりました。これは、シンボルへの参照が、Go のバージョンに対して新しすぎるものから、参照元ファイルで有効になっています。(有効なバージョンは、ファイルを囲む go.mod ファイルの go ディレクティブと、ファイルの //go:build 制約によって決定されます。) たとえば、go.mod ファイルが go 1.21 を指定しているモジュールのファイルから reflect.TypeFor 関数 (go1.22 で導入) へ参照の診断を報告します。
* cgo: cmd/cgo は、C リンカーにフラグを渡すために、新しい -ldflags フラグをサポートします。go コマンドはこれを自動的に使用し、非常に大きな CGO_LDFLAGS による「引数リストが長すぎます」エラーを回避します。
* go trace: トレースツールは、可能なトレースデータの復元を試みることで、部分的に破損したトレースをより適切に許容できるようになりました。ほとんどの状況でクラッシュにつながるトレースデータが回復できるため、この機能はプログラムのクラッシュ中に収集されたトレースを表示するときに特に役立ちます。
* ランタイム: 処理されないパニックまたはその他の致命的なエラーの後にランタイムによって出力されるトレースバックは、エラーメッセージ (パニックに対する引数など) の 2 行目以降を単一のタブで字下げします。これにより、最初の goroutine のスタックトレースから明確に区別できるようになります。ディスカッションについては、go#64590 を参照してください。
* コンパイラ: Profile Guided Optimization で構築するための構築時間のオーバーヘッドが大幅に短縮されました。以前は、大規模なビルドでは、PGO を有効にすると、ビルド時間が 100% 以上増加する可能性がありました。Go 1.23では、オーバーヘッドは 1 桁のパーセンテージでなければなりません。
* コンパイラ: Go 1.23 のコンパイラは、関数の相互関係のない領域でアクセスされるローカル変数のスタックフレームスロットをオーバーラップできるようになりました。これにより、Go アプリケーションのスタック使用率が削減されます。
* コンパイラ: 386 および amd64 では、コンパイラは PGO からの情報を使用して、ループ内の特定のホットブロックを整列します。これにより、テキストとバイナリのサイズが 0.1% 増加しますが、パフォーマンスがさらに 1~1.5% 向上します。他のプラットフォームでは改善がみられなかったため、これは現在 386 と amd64 にのみ実装されています。ホットブロックアライメントは、
-gcflags=[<packages>=]-d=alignhot=0 で無効化できます。
* リンカー: リンカーは、//go:linkname ディレクティブを使用して、定義で //go:linkname でマークされていない標準ライブラリ (ランタイムを含む) の内部シンボルを参照することを許可しません。同様に、リンカーはアセンブリコードからそのようなシンボルへの参照を許可しません。後方互換性のため、大規模なオープンソースコードコーパスで見つかった //go:linkname の既存の使用は引き続きサポートされます。標準ライブラリの内部シンボルへの新しい参照は一切許可されません。
* リンカー: デバッグや実験の目的で、リンカーコマンドラインフラグ -checklinkname=0 を使用してこのチェックを無効にすることができます。
* リンカー: 動的にリンクされた ELF バイナリ (PIE バイナリを含む) を構築するとき、新しい -bindnow フラグが関数の即時バインドを有効にします。
* 標準ライブラリの変更:
* タイマー: 1.23 は、time.Timer と time.Ticker の実装に 2 つの重要な変更を行います。
第一に、プログラムによって参照されなくなった Timer と Ticker は、たとえ Stop メソッドが呼び出されていなくても、すぐにガベージコレクションの対象となります。以前のバージョンの Go は、停止されていない Timer を発生させた後まで収集せず、停止されていない Ticker を決して収集しませんでした。
第二に、Timer または Ticker に関連するタイマーチャネルは現在バッファリングされておらず、容量は 0 です。この変更の主な影響は、Go が、リセットまたは停止メソッドの呼び出しに対して、その呼び出しの前に準備された古い値が、呼び出し後に送信または受信されないことを保証するようになったことです。以前のバージョンの Go は、1 要素のバッファを持つチャネルを使用していたため、リセットと停止を正しく使用することが困難でした。この変更による目に見える影響は、タイマーチャネルの len と cap が 1 ではなく 0 を返すようになったことです。これにより、長さをポーリングしてタイマーチャネルでの受信が成功するかどうかを判断するプログラムに影響を与える可能性があります。このようなコードでは、代わりに非ブロッキング受信を使用する必要があります。
これらの新しい動作は、メインの Go プログラムが、Go 1.23.0 以降を使用する go.mod go ラインのあるモジュール内にある場合にのみ有効です。Go 1.23 が古いプログラムを構築するとき、古い動作が引き続き有効です。新しい GODEBUG 設定 asynctimerchan=1 は、プログラムが go.mod ファイルで Go 1.23.0 またはそれ以降に名前を付ける場合でも、非同期チャネル動作に戻すために使用できます。
* unique: 新しい unique パッケージは、値を正規化する機能 (「interning」や「hash-consing」など) を提供します。
比較可能なタイプの値はすべて、新しい Make[T] 関数で正規化できます。この関数は、Handle[T] の形式で値の正規コピーへの参照を生成します。2 つの Handle[T] は、ハンドルの生成に使用される値が等しい場合にのみ等しく、これによってプログラムは値の重複を排除し、メモリフットプリントを減らすことができます。2 つの Handle[T] 値の比較は効率的で、単純なポインターの比較になります。
* iter: 新しい iter パッケージは、ユーザー定義の反復子を操作するための基本的な定義を提供します。
* slices: slices パッケージは、反復子で動作するいくつかの関数を追加します。
- All は、スライスインデックスと値の反復子を返します。
- Values は、スライス要素の反復子を返します。
- Backward は、スライスを後方にループする反復子を返します。
- Collect は、反復子から新しいスライスへ値を収集します。
- AppendSeq は、反復子から既存のスライスへ値を追加します。
- Sorted は、反復子から新しいスライスへ値を収集し、スライスをソートします。
- SortedFunc は、Sorted に似ていますが、比較機能があります。
- SortedStableFunc は SortFunc に似ていますが、安定したソートアルゴリズムを使用します。
- Chunk は、スライスの最大 n 個の要素からなる連続したサブスライスに対して反復子を返します。
* maps: maps パッケージは、反復子で動作するいくつかの関数を追加します。
- All は、マップからのキーと値のペアの反復子を返します。
- Keys は、マップ内のキーに対する反復子を返します。
- Values は、マップ内の値に対する反復子を返します。
- Insert は、キー値のペアを反復子から既存のマップに追加します。
- Collect はイテレータからキーと値のペアを新しいマップに収集して返します。
* structs: 新しい structs パッケージは、メモリレイアウトなど、含まれている構造体タイプのプロパティを変更する構造体フィールドのタイプを提供します。
このリリースでは、そのようなタイプは HostLayout のみです。これは、そのタイプのフィールドを持つ構造が、ホストプラットフォームの期待に適合するレイアウトを持つことを示します。
* 標準ライブラリに対するマイナーな変更: いつものように、互換性に関する Go 1 の約束を考慮して行われた、ライブラリに対するさまざまなマイナーな変更と更新があります。
* archive/tar: FileInfoHeader への引数が新しい FileInfoNames インターフェイスを実装する場合、ファイルヘッダーの Uname/Gname を設定するためにインターフェイスメソッドが使用されます。これにより、アプリケーションはシステム依存の Uname/Gname 検索をオーバーライドできます。
* crypto/tls: TLS クライアントが Encrypted Client Hello ドラフト仕様をサポートするようになりました。この機能を有効にするには、Config.EncryptedClientHelloConfigList フィールドを、接続先のホスト用にエンコードされた ECHConfigList に設定します。
* crypto/tls: QUIC の実装で使用される QUICConn タイプには、セッション再開の状態を報告する新しいイベントが含まれ、QUIC レイヤーがセッションチケットとセッションキャッシュエントリにデータを追加する方法を提供します。
* crypto/tls: Config.CipherSuites が nil の場合に使用されるデフォルトリストから 3DES 暗号化パッケージが削除されました。GODEBUG 環境変数に tls3des=1 を追加することで、デフォルトに戻すことができます。
* crypto/tls: 実験的なポスト量子鍵交換メカニズム X25519Kyber768Draft00 は、Config.CurvePreferences が nil の場合にデフォルトで有効になります。GODEBUG 環境変数に tlskyber=0 を追加することで、デフォルトに戻すことができます。
* crypto/tls: Go 1.23 は、X509KeyPair および LoadX509KeyPair の動作を変更し、戻された証明書の Certificate.Leaf フィールドに入力します。この挙動のために、新しい x509keypairleaf GODEBUG 設定が追加されています。
* crypto/x509: CreateCertificateRequest が RSA-PSS 署名アルゴリズムを適切にサポートするようになりました。
* crypto/x509: CreateCertificateRequest および CreateRevocationList は、署名者の公開鍵を使用して、生成された署名を検証するようになりました。署名が無効な場合は、エラーが返されます。これは、Go 1.16 以降の CreateCertificate の動作です。
* crypto/x509: x509sha1 GODEBUG 設定は、次の Go メジャーリリースで削除されます (Go 1.24)。これは、crypto/x509 が、SHA-1 ベースの署名アルゴリズムを使用する証明書の署名検証をサポートしないことを意味します。
* crypto/x509: 新しい ParseOID 関数は、ドットエンコードされた ASN.1 オブジェクト識別子の文字列を解析します。OID タイプは、encoding.BinaryMarshaler、encoding.BinaryUnmarshaler、encoding.TextMarshaler、encoding.TextUnmarshaler インターフェイスを実装するようになりました。
database/sql
* crypto/x509: driver.Valuer 実装によって返されるエラーは、DB.Query、DB.Exec、DB.QueryRow などの操作中のエラー処理を改善するためにラップされます。
* debug/elf: debug/elf パッケージは PT_OPENBSD_NOBTCFI を定義するようになりました。この ProgType は、OpenBSD バイナリでブランチトラッキング制御フロー整合性 (BTCFI) の強制を無効にするために使用されます。
* debug/elf: シンボルタイプ定数 STT_RELC、STT_SRELC、および STT_GNU_IFUNC を定義するようになりました。
* encoding/binary 新しい Encode および Decode 関数は、Read および Write と同等のバイトスライスです。Append により、複数のデータを同じバイトスライスにマーシャリングできます。
* go/ast: 新しい Preorder 関数は、構文ツリーのすべてのノードに対して便利な反復子を返します。
* go/types: 関数またはメソッドシンボルを表す Func タイプが、常に Signature である関数のタイプを返す Func.Signature メソッドを持つようになりました。
* go/types: エイリアスタイプに、その宣言の右側に型を返す Rhs メソッドが含まれるようになりました: タイプ A = B の場合、A の Rhs は B です。(go#66559)
* go/types: Alias.Origin、Alias.SetTypeParams、Alias.TypeParams、および Alias.TypeArgs のメソッドが追加されました。これらは、ジェネリックエイリアスタイプに必要です。
* go/types: デフォルトで、go/types はタイプエイリアスに対してエイリアスタイプノードを生成するようになりました。この挙動は GODEBUG gotypesalias フラグで制御できます。デフォルトは Go 1.22 の 0 から Go 1.23 の 1 に変更されています。
* math/rand/v2: Uint 関数と Rand.Uint メソッドが追加されました。意図せずに Go 1.22 から除外されていました。
* math/rand/v2: 新しい ChaCha8.Read メソッドは、io.Reader インターフェイスを実装します。
* net: 新しいタイプ KeepAliveConfig では、新しい TCPConn.SetKeepAliveConfig メソッドと、Dialer と listenConfig 用の新しい KeepAliveConfig フィールドを介して、TCP 接続のキープアライブオプションを微調整できます。
* net: DNSError タイプは、タイムアウトまたはキャンセルによって引き起こされたエラーをラップするようになりました。たとえば、errors.Is(someDNSErr, context.DeadlineExceedeed) は、DNS エラーがタイムアウトによって引き起こされたかどうかを報告するようになりました。
* net: 新しい GODEBUG 設定 netedns0=0 は、DNS リクエストで EDNS0 追加ヘッダーの送信を無効にします。これは、一部のモデムで DNS サーバーが破損すると報告されているためです。
* net/http: Cookie は、Cookie 値を二重引用符で囲むようになりました。新しい Cookie.Quoted フィールドは、Cookie.Value がもともと引用符で囲まれていたかどうかを示します。
* net/http: 新しい Request.CookiesNamed メソッドは、指定された名前に一致するすべてのクッキーを取得します。
* net/http: 新しい Cookie.Partitioned フィールドは、Partitioned 属性を持つクッキーを識別します。
* net/http: ServeMux によって使用されるパターンは、メソッド名の後に 1 つ以上のスペースまたはタブを許可するようになりました。以前は、1 つのスペースしか使用できませんでした。
* net/http: 新しい ParseCookie 関数は、Cookie ヘッダー値を解析し、そこに設定されているすべてのクッキーを返します。同じクッキー名が複数回現れる可能性があるため、返される Values には特定のキーに対して複数の値が含まれる可能性があります。
* net/http: 新しい ParseSetCookie 関数は、Set-Cookie ヘッダー値を解析し、クッキーを返します。構文エラーでエラーを返します。
* net/http: ServeContent、ServeFile、および ServeFileFS は、エラーを処理する際に、Cache-Control、Content-Encoding、Etag、および Last-Modified ヘッダーを削除するようになりました。これらのヘッダーは通常、エラー以外のコンテンツに適用されますが、エラーのテキストには適用されません。
* net/http: Content-Encoding: gzip などの ResponseWriter をラップし、オンザフライのエンコーディングを適用するミドルウェアは、この変更後は機能しません。GODEBUG=httpservecontentkeepheaders=1 を設定することで、ServeContent、ServeFile、ServeFileFS の以前の動作に戻すことができます。
注意: 提供されるコンテンツのサイズを変更 (圧縮するなど) するミドルウェアは、ServeContent が Range リクエストを処理するとき、すでに適切に機能しません。オンザフライ圧縮では、Content-Encoding ではなく Transfer-Encoding ヘッダーを使用する必要があります。
* net/http: インバウンドリクエストの場合、新しい Request.Pattern フィールドには、リクエストに一致した ServeMux パターン (存在する場合) が含まれます。GODEBUG=httpmuxgo121=1 が設定されている場合、このフィールドは設定されません。
* net/http/httptest: 新しい NewRequestWithContext メソッドは、context.Context で受信リクエストを作成します。
* net/netip: Go 1.22 以前では、== または Addr.Compare と比較する際は Addr 値が異なるにもかかわらず、IPv4 アドレスを保持している Addr をそのアドレスの IPv4 にマッピングされた IPv6 形式を保持している Addr と比較するために reflect.DeepEqual を使用すると、誤って true を返しました。このバグは現在修正されており、3 つのアプローチすべてで同じ結果が報告されます。
* os: Stat 関数は、Windows 上の Unix ソケットであるファイルに対して、ModeSocket ビットを設定するようになりました。これらのファイルは、再解析タグを IO_REPARSE_TAG_AF_UNIX に設定することで識別されます。
* os: Windows で、再解析ポイントの Lstat と Stat によって報告されるモードビットが変更されました。マウントポイントで ModeSymlink が設定されなくなり、シンボリックリンク、Unix ソケット、重複排除ファイルではない再解析ポイントで、常に ModeIrregular が設定されるようになりました。この動作は、winsymlink 設定によって制御されます。Go 1.23 では、デフォルトで winsymlink=1 になっています。以前のバージョンのデフォルトは winsymlink=0 です。
* os: CopyFS 機能は、io/fs.FS をローカルファイルシステムにコピーします。
* os: Windows で、Readlink がボリュームをドライブ文字に正規化しようとしなくなりました。これは常に可能とは限りませんでした。この動作は、winreadlinkvolume 設定によって制御されます。Go 1.23 では、デフォルトで winreadlinkvolume=1 になっています。以前のバージョンのデフォルトは winreadlinkvolume=0 です。
* os: pidfd をサポートする Linux (一般に Linux v5.4 以降) では、Process 関連の関数およびメソッドは pidfd (PID ではなく) を内部的に使用し、PID が OS によって再利用されたときの潜在的なミスターゲットを排除します。Pidfd のサポートは、プロセスが持つ可能性のある追加のプロセスファイル記述子を除いて、ユーザーに対して完全に透過的です。
* path/filepath: 新しい Localize 関数は、スラッシュで区切られたパスをオペレーティングシステムのパスに安全に変換します。
* path/filepath: Windows で、EvalSymlinks はマウントポイントを評価しなくなりました。これは、多くの不一致とバグの原因でした。この動作は、winsymlink 設定によって制御されます。Go 1.23 では、デフォルトで winsymlink=1 になっています。以前のバージョンのデフォルトは winsymlink=0 です。
* path/filepath: Windows で、EvalSymlinks がボリュームをドライブ文字に正規化しようとしなくなりました。これは常に可能とは限りませんでした。この動作は、winreadlinkvolume 設定によって制御されます。Go 1.23 では、デフォルトで winreadlinkvolume=1 になっています。以前のバージョンのデフォルトは winreadlinkvolume=0 です。
* reflect: Value にある同名のメソッドと同義の新しいメソッドが Type に追加されました。
- Type.OverflowComplex
- Type.OverflowFloat
- Type.OverflowInt
- Type.OverflowUint
* reflect: 新しい SliceAt 関数は NewAt に似ていますが、スライス用です。
* reflect: Value.Pointer および Value.UnsafePointer メソッドは、kind 文字列の値をサポートするようになりました。
* reflect: 新しいメソッド Value.Seq および Value.Seq2 は、for/range ループで使用されたかのように、値を反復するシーケンスを返します。新しいメソッド Type.CanSeq と Type.CanSeq2 は、それぞれ Value.Seq と Value.Seq2 の呼び出しがパニックなしに成功するかどうかを報告します。
* runtime/debug: SetCrashOutput 関数により、ユーザーがランタイムが致命的なクラッシュレポートを書き込む代替ファイルを指定できます。明示的に recover を使用する goroutine のクラッシュだけでなく、すべての予期しないクラッシュに対する自動レポートメカニズムを構築するために使用される可能性があります。
* runtime/pprof: alloc、mutex、block、threadcreate、goroutine プロファイルの最大スタック深度は、32 フレームから 128 フレームに引き上げられました。
* runtime/trace: キャッチされないパニックによりプログラムがクラッシュした場合、ランタイムはトレースデータを明示的にフラッシュするようになりました。これは、トレースがアクティブなときにプログラムがクラッシュした場合に、より完全なトレースデータがトレースで利用できることを意味します。
* slices: Repeat 関数は、提供されたスライスを指定された回数繰り返す、新しいスライスを返します。
* sync: Map.Clear メソッドがすべてのエントリを削除し、結果として空のマップになります。それは、clear に似ています。
* sync/atomic: 新しい And および Or 演算子は、ビットごとの AND または OR を与えられた入力に適用し、古い値を返します。
* syscall: syscall パッケージは、Windows で WSAENOPROTOOPT を定義するようになりました。
* syscall: GetsockoptInt 関数が Windows でサポートされるようになりました。
* tests/fstest: TestFS は現在、ラップ解除可能な構造化エラーを返すようになりました (メソッド Unwrap() []error)。これにより、errors.Is または errors.As を使用してエラーを検査できます。
* text/template: テンプレートは新しい「else with」アクションをサポートするようになり、一部のユースケースでテンプレートの複雑さが緩和されました。
* time: タイムゾーンオフセットが範囲外の場合、Parse および ParseInLocation はエラーを返すようになりました。
* unicode/utf16: RuneLen 関数は、ルーン文字の UTF-16 エンコーディングでの 16 ビットワードの数を返します。ルーン文字が UTF-16 でエンコードするための有効な値でない場合は、-1 を返します。
* Port: Darwin: Go 1.22 リリースノートで発表されているように、Go 1.23 には macOS 11 Big Sur 以降が必要です。以前のバージョンのサポートは終了しました。
* Port: Linux: Go 1.23 は、Linux カーネルバージョン 2.6.32 以降を必要とする最後のリリースです。Go 1.24 には Linux カーネルバージョン 3.17 またはそれ以降が必要ですが、例外として、カーネルが getrandom システムコールをサポートするようにパッチが当てられている場合、3.10 またはそれ以降を実行しているシステムは引き続きサポートされます。
* Port: OpenBSD: Go 1.23 は、64 ビット RISC-V の OpenBSD (GOOS=openbsd、GOARCH=riscv64) の実験的サポートを追加します。
* Port: ARM64: Go 1.23 は、新しい GOARM64 環境変数を導入します。これは、コンパイル時の ARM64 アーキテクチャの最小ターゲットバージョンを指定します。指定できる値は、v8.{0-9} と v9.{0-5} です。この後に、ターゲットハードウェアによって実装される拡張を指定するオプションが続く場合があります。有効なオプションは、,lse と ,crypto です。
GOARM64 環境変数は、デフォルトで v8.0 に設定されます。
* Port: RISC-V: Go 1.23 は、新しい GORISCV64 環境変数を導入します。これは、コンパイルする RISC-V ユーザーモードアプリケーションプロファイルを選択します。許可された値は rva20u64 と rva22u64 です。
GORISCV64 環境変数は、デフォルトで rva20u64 に設定されます。
* Port: Wasm: GOROOT/misc/wasm の go_wasip1_wasm_exec スクリプトは、wasmtime < 14.0.0 のバージョンのサポートを終了しました。
Tenable は、前述の記述ブロックを SUSE セキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
影響を受ける go1.23-openssl、go1.23-openssl-doc、および / または go1.23-openssl-race パッケージを更新してください。
プラグインの詳細
ファイル名: suse_SU-2024-3773-1.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C
脆弱性情報
CPE: p-cpe:/a:novell:suse_linux:go1.23-openssl-doc, p-cpe:/a:novell:suse_linux:go1.23-openssl-race, cpe:/o:novell:suse_linux:15, p-cpe:/a:novell:suse_linux:go1.23-openssl
必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list
エクスプロイトの容易さ: No known exploits are available