CVE-2026-42501 in cmd-go情報

要約

〜によって VulDB • 2026年05月20日

悪意のあるモジュールプロキシは、go コマンドのモジュールチェックサム検証における欠陥を悪用し、チェックサムデータベースの検証をバイパスすることができます。この脆弱性は、信頼できないモジュールプロキシ(GOMODPROXY)またはチェックサムデータベース(GOSUMDB)を使用しているすべてのユーザーに影響します。悪意のあるモジュールプロキシは、改ざんされたバージョンの Go ツールチェーンを提供することができます。現在インストールされているツールチェーンとは異なるバージョンの Go ツールチェーンを選択した場合(GOTOOLCHAIN 環境変数、またはツールチェーン行を含む go.work や go.mod による)、go コマンドはモジュールプロキシから提供されるツールチェーンをダウンロードして実行します。悪意のあるモジュールプロキシは、このダウンロードされたツールチェーンに対するチェックサムデータベースの検証をバイパスできます。この脆弱性はツールチェーンのダウンロードのセキュリティに影響するため、GOTOOLCHAIN を固定バージョンに設定するだけでは不十分です。ベースとなる Go ツールチェーンをアップグレードする必要があります。go ツールはツールチェーンを実行する前に常にそのハッシュを検証するため、固定バージョンはキャッシュされた改ざんされたバージョンのツールチェーンの実行を拒否します。go ツールは、go.sum ファイルに現在のモジュールの依存関係の正確なハッシュが含まれていることを信頼しています。この脆弱性を悪用して改ざんされたモジュールを提供する悪意のあるプロキシは、go.sum に誤ったハッシュが記録される原因となります。信頼できない GOPROXY を構成しているユーザーは、「rm go.sum ; go mod tidy ; go mod verify」を実行することで、影響を受けているかどうかを確認できます。これにより、現在のモジュールのすべての依存関係が再検証されます。より詳細な特定の欠陥:go コマンドは、モジュールが go.sum ファイルに記載されていない場合、ダウンロードされたモジュールを検証するためにチェックサムデータベースを参照します。チェックサムデータベースが報告するモジュールハッシュが、ダウンロードされたモジュールのハッシュと一致することを確認します。しかし、チェックサムデータベースがモジュールのエントリを含まない成功した応答を返した場合、go コマンドは検証を成功として誤って許可していました。モジュールプロキシはチェックサムデータベースをミラーリングまたはプロキシする場合があります。その場合、go コマンドはチェックサムデータベースに直接接続しません。チェックサムデータベースが報告するチェックサムは暗号的に署名されているため、悪意のあるプロキシはモジュールに対して報告されるチェックサムを変更することはできません。ただし、空のチェックサム応答、または無関係なモジュールのチェックサム応答を返すプロキシは、ダウンロードされたモジュールが検証されたかのように go コマンドを進ませる可能性があります。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

予約する

2026年04月28日

モデレーション

承諾済み

エントリ

VDB-361950

EPSS

0.00008

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!