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

Posted by Shugo Maeda on 18 Feb 2011

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である場合も問題です。

更新情報

最近のニュース

Ruby 4.0.0 リリース

Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。

Posted by naruse on 25 Dec 2025

サイトのアイデンティティの再設計

サイトの包括的なデザインのアップデートを発表できることを嬉しく思います。今回の更新ではTaeko Akatsukaさんにデザインを担当していただきました。

Posted by Hiroshi SHIBATA on 22 Dec 2025

Ruby 4.0.0 preview2 リリース

Ruby 4.0.0-preview2 が公開されました。Ruby 4.0では、Unicodeバージョンの17.0.0へのアップデートなど様々な改善が行われています。

Posted by naruse on 17 Nov 2025

もっと読む...