HashiCorp の go-getter ライブラリの脆弱性 CVE-2024-3817 が FIX:ただちにパッチを!

HashiCorp Patches Critical CVE-2024-3817 Vulnerability in go-getter Library

2024/04/17 SecurityOnline — 広く使用されている HashiCorp の go-getter ライブラリに存在する、深刻な脆弱性 CVE-2024-3817 に対する、緊急のセキュリティ・アドバイザリが発表された。この脆弱性の悪用に成功した攻撃者は、Git の操作中に悪意のコードを注入することが可能となり、影響を受けるライブラリを使用しているシステムに危険が生じることになる。

go-getterとは?

HashiCorp の go-getter とは、Go プログラミング言語を使用する開発者に人気のライブラリである。ファイルシステム/Git リポジトリ/HTTP といった各種のソースから、ファイルやディレクトリをダウンロードするプロセスを効率化するものである。

脆弱性の説明

この脆弱性 CVE-2024-3817 (CVSS:9.8) は、go-getter が Git URL を処理する方法に起因している。リモートの Git リポジトリのデフォルト・ブランチを取得する際に、go-getter がユーザー制御可能な引数で、Git コマンドを実行する可能性がある。そのため、攻撃者が悪意のコードを Git コマンドに注入し、感染したシステムを遠隔操作する可能性が生じる。

HashiCorp は、「Git リファレンスが Git URL と一緒に受け渡されない場合には、go-getter は実行中のホスト上の Git バイナリに引数を渡すことで、リモート・リポジトリのデフォルト・ブランチの HEAD リファレンスをチェックしようとする。したがって、攻撃者が Git 呼び出しに、追加の Git 引数を注入するために、Git URL をフォーマットする可能性が生じる」と記されている。

影響を受けるバージョン

脆弱性 CVE-2024-3817 は、go-getter バージョン 1.5.9〜1.7.3 に存在する。ユーザーに対して強く推奨されるのは、この深刻な問題の修正を含む、バージョン 1.7.4 以降へとアップグレードすることである。

誰が危険にさらされているのか?

Git 操作において、脆弱なバージョンの go-getter ライブラリを使用しているアプリケーションやシステムには、この脆弱性の影響を受ける可能性がある。開発者とシステム管理者は、この脆弱性を特定し対処するために、プロジェクトの依存関係を注意深く評価する必要がある。

推奨事項

HashiCorp が推奨するのは、以下の対応を挿入に行うことである:

  • アップグレード:可能な限り早急に、go-getterライブラリをバージョン 1.7.4 以降にアップグレードする。
  • アドバイザリの監視:HashiCorp の最新のセキュリティ・アドバイザリで、追加情報や緩和策を確認する。