sudoeditのexploit

DVLに入っているsudoeditは脆弱性のあるバージョンexploitもあるのでを読んでみました。

脆弱性の内容は推測可能なテンポラリファイルを作ってるのが原因みたいですね。
sudoeditの引数に渡すファイル名でファイルを作っているので簡単にファイルにアクセスできてしまうと。。。

exploitがやっていることは
1.前提条件:別端末でsudoeditの引数をfooabrとかして実行
2./usr/tmp/forbarを作るのでexploitはまずそれを探す
3.見つかったらそれを消す
4.ln(1)をexecl(3)を使って実行。lnに使う引数はexploitに渡した引数と3で消したファイル名
5.終了

ってこんだけですか!
オーバーフロー系のexploitに比べると読みやすいなぁ。

とりあえずテンポラリファイルを作るときは気をつけろってことだな。
tempnam(3)のmanでもmkstemp(3)かtmpfile(3)を使えと言ってるし。