findがファイルシステムを検索するとき,サブディレクトリを探し,
作業ディレクトリを変更しながら検索します.最初に,find
はサブディ
レクトリに注目します.サブディレクトリが検索する基準にあっている場合,
それが決定されます.つまり,‘-xdev’や‘-prune’式は考慮されます.
find
プログラムは,作業ディレクトリを変更し,ディレクトリの検索を
進めていきます.
競合状態の攻撃とは,‘-xdev’と‘-prune’に関連して一度調査された 後,攻撃者は考えられるディレクトリの名前を変更し,その場所を別の場所を 示しているシンボリックリンクを配置するといった形態になります.
この攻撃のは以後にある考えとは,find
が間違ったディレクトリに行っ
てしまう程度に愚かであるということです.これは,攻撃者が選択した作業ディ
レクトリでfind
を続け,‘-xdev’と‘-prune’で明示的に提供
された保護機能と,find
コマンドラインにリストアップされた特定のディ
レクトリ以外を利用できなくすることで提供される保護機能をバイパス
するということです.この形態の攻撃は,攻撃者がfind
コマンドを実行
するときが予測可能な場合,例えばcron
のタスク等で,特に問題になり
ます.
GNU find
には,この一般に分類される問題を避けるための,固有のセー
フガードがあります.これらのセーフガードの正確な形態は,システムの特性
に依存します.