【活用ガイド】

JVNDB-2026-017418

GitoxideLabsのgix-fsにおけるリンク解釈に関する脆弱性

概要

gitoxideはRustで書かれたgitの実装です。0.21.1より前のバージョンでは、悪意のあるツリーを作成することが可能であり、gitoxideでチェックアウトすると攻撃者が制御するシンボリックリンクをユーザーが書き込み権限を持つ任意の既存ディレクトリに書き込むことが可能でした。チェックアウト時にはすべてのシンボリックリンクのインデックスエントリが後回しにされ、通常のファイルの後に単一の共有gix_worktree::Stackを使って作成されます。内部的にはgix_fs::Stackが使用されています。gix_fs::Stack::make_relative_path_current()は検証済みのパスプレフィックスをキャッシュします。以前に処理されたリーフコンポーネントが次のパスの先頭コンポーネントと完全に一致すると、gix-fs/src/stack.rsのリーフからディレクトリへの遷移はdelegate.push_directory()のみを呼び出し、delegate.push()は呼び出しません。gix_worktree::stack::delegate::StackDelegateでは、stateメンバーがState::CreateDirectoryAndAttributesStackの場合、Attributes::push_directory()は属性(クローンの場合はODBから)を読み込むだけで他のチェックは行いません。ディスク上のsymlink_metadata()チェックと衝突時のunlinkはStackDelegate::push()内のcreate_leading_directory()の呼び出しに存在し、キャッシュされたプレフィックスではこれが回避されます。最終的なシンボリックリンクは標準のstd::os::unix::fs::symlinkで作成されており、親ディレクトリのシンボリックリンクをたどります。したがって、重複したシンボリックリンクおよびディレクトリエントリを含むツリーを提供することでこの脆弱性を悪用することが可能です。この脆弱性は0.21.1で修正されました。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


GitoxideLabs
  • gix-fs 0.21.1 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. リンク解釈の問題(CWE-59) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-44471
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-44471
更新履歴

  • [2026年06月03日]
      掲載