アカウント名:
パスワード:
「要求してる奴のUIDを調べて0(=root)ならそのまま実行、それ以外は認証してOKなら続行、NGなら中止」みたいな処理をしてる所の「要求してる奴のUID調べる」の段階でエラーを適切にハンドルしてないせいみたいね要求してる奴のUID調べる->要求元のプロセスが死んでるのでエラーが返る->エラーをチェックしてないせいでuidの値が不正な0(or不定?)でそのままrootからの要求と間違えて無条件に処理を続行
sudoとかでもちょいちょい「これは酷い…」的な奴出てるけどこれもなかなかに酷い
この理屈だとsetuidされたプログラムを起動しまくってpidを再利用させる事ができれば、setuidされていて実行可能なプログラムがある任意のuidに偽装可能だったりしそうな気も……ハンドルで捕まえてれば平気かもしれんが。
しかしこういうモジュールが5年以上前のバージョン積んでる事があるってのもすごい話だ。ちゃんとセキュリティに関わる更新が無いこと確認の上で古いバージョン使い続けていたのだろうか?
ありがちなのは脆弱性修正関連の修正だけ入れるやつ。もちろんこれだと新しいバージョンではそもそも起きない脆弱性が無視されがち。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
ざっと読む限り (スコア:1)
「要求してる奴のUIDを調べて0(=root)ならそのまま実行、それ以外は認証してOKなら続行、NGなら中止」みたいな処理をしてる所の「要求してる奴のUID調べる」の段階でエラーを適切にハンドルしてないせいみたいね
要求してる奴のUID調べる->要求元のプロセスが死んでるのでエラーが返る->エラーをチェックしてないせいでuidの値が不正な0(or不定?)でそのままrootからの要求と間違えて無条件に処理を続行
sudoとかでもちょいちょい「これは酷い…」的な奴出てるけどこれもなかなかに酷い
Re: (スコア:0)
この理屈だとsetuidされたプログラムを起動しまくってpidを再利用させる事ができれば、
setuidされていて実行可能なプログラムがある任意のuidに偽装可能だったりしそうな気も……
ハンドルで捕まえてれば平気かもしれんが。
しかしこういうモジュールが5年以上前のバージョン積んでる事があるってのもすごい話だ。
ちゃんとセキュリティに関わる更新が無いこと確認の上で古いバージョン使い続けていたのだろうか?
Re:ざっと読む限り (スコア:0)
ありがちなのは脆弱性修正関連の修正だけ入れるやつ。もちろんこれだと新しいバージョンではそもそも起きない脆弱性が無視されがち。