パスワードを忘れた? アカウント作成
14165642 story
インターネット

Gitの認証ヘルパにおけるURL処理に深刻度の高い不具合が見つかる 13

ストーリー by hylom
ご確認を 部門より

Hamo73曰く、

Gitの「credential helper」コンポーネントにおけるURL処理に深刻度の高い不具合が見つかった。このコンポーネントはパスワードなどの認証情報を接続先サーバーに送信するものだが、URLの処理に問題があり、細工されたリポジトリURLなどに対しクローンを実行することで、意図しているものとは異なる任意のサーバーに認証情報を送信してしまうという(公開されている脆弱性情報Security NEXT)。

この脆弱性を悪用し、エンコードした改行を含む細工したURLを用いることで、任意のサーバーの認証パスワードを取得し、他の任意のサーバーに送信させることができるという。対処済みのバージョンとしてバージョン2.17.4、2.18.3、2.19.4、2.20.3、2.21.2、2.22.3、2.23.2、2.24.2、2.25.3、2.26.1がリリースされている。また、とりあえずの回避策としてはcredential helperの無効化が挙げられている。

Gitではサブモジュールを含むリポジトリをクローンする場合やツール経由でクローンを行う場合など、URLを意識せずにクローン処理が実行されるケースがあり、こうした場合に細工されたURLであるとは認識せずにクローン処理を実行してしまう危険性もあるという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2020年04月20日 19時42分 (#3801191)

    公開されている脆弱性情報より

    the affected URLs look rather suspicious; the likely vector would be through systems which automatically clone URLs not visible to the user, such as Git submodules, or package systems built around Git.
    ----
    脆弱性をつくためのURLは見た目上疑わしいものとなる。考えられる攻撃のシナリオとして、Gitを介したビルドシステムやGitのサブモジュール等、ユーザーがURLを見ることなく自動的にcloneするシステムを介することになるだろう。

    Gitを介したビルドシステムというのが想像つかない・・・
    # もしCIのように、誰かのコミットを契機に自動ビルド・テストするものだとしても、
    # 対象のリポジトリは事前に設定した物になるのでは?

    • by Anonymous Coward

      その一文に書いてあるとおりですが…

      具体的に言うと、たとえば、submodule を使ってるリポジトリで、CI/CDのビルドシステムを使っている場合だと
      悪いやつ: git submodule add 悪意のあるURL
      ビルドシステム: git submodule update --init
      の2ステップで、ビルドシステムが持っている認証情報が悪意のあるURLに流出、というシナリオになります

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...