FileUtilsのsymlink race attack脆弱性について

symlink race condition 脆弱性がFileUtils.remove_entry_secureに発見されました。この脆弱性によって、ローカルユーザが任意のファイルやディレクトリを削除可能です。

影響のあるバージョン

  • Ruby 1.8.6 patchlevel 420 以前のバージョン
  • Ruby 1.8.7 patchlevel 330 以前のバージョン
  • Ruby 1.8の開発バージョン (1.8.8dev)
  • Ruby 1.9.1 patchlevel 430 以前のバージョン
  • Ruby 1.9.2 patchlevel 136 以前のバージョン
  • Ruby 1.9の開発バージョン (1.9.3dev)

解決策

この脆弱性の影響を受けるすべてのユーザは、修正されたバージョンにアップグレードしてください。

ただし、削除対象の上位ディレクトリのうちのどれかが信頼されないユーザに所有されている場合は、symlink race attackを回避できない点に注意してください。 安全に処理を行うためには、すべての親ディレクトリが他の信頼されないユーザによって移動できないことを確認する必要があります。 例えば、親ディレクトリが信頼できないユーザに所有されている場合は問題があります。また、sticky bitが設定されている場合を除き、親ディレクトリがworld writableである場合も問題です。

更新情報