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である場合も問題です。
更新情報
- 本脆弱性の修正を含む1.8.7-334がリリースされました。 1.8.7をお使いの方にはアップグレードを推奨します。
- 本脆弱性の修正を含む1.9.1-p431がリリースされました。 1.9.1をお使いの方にはアップグレードを推奨します。
- 本脆弱性の修正を含む1.9.2-p180がリリースされました。 1.9.2をお使いの方にはアップグレードを推奨します。
- 「影響のあるバージョン」の「Ruby 1.9.1 patchlevel 136 以前のバージョン」を「Ruby 1.9.2 patchlevel 136 以前のバージョン」に修正しました。
最近のニュース
Ruby 3.3.12 リリース
Ruby 3.3.12 がリリースされました。
Posted by hsbt on 16 Jul 2026
Ruby 3.4.10 リリース
Ruby 3.4.10 がリリースされました。
Posted by nagachika on 30 Jun 2026
Ruby 4.0.2 リリース
Ruby 4.0.2 がリリースされました。
Posted by k0kubun on 16 Mar 2026
Ruby 3.4.9 リリース
Ruby 3.4.9 がリリースされました。
Posted by nagachika on 11 Mar 2026