CVE-2021-28966: Windows 版 Tempfile 内のパストラバーサルについて
Posted by mame on 5 Apr 2021
Translated by jinroq
Windows 版 Ruby にバンドルされている tmpdir ライブラリには、意図しないディレクトリを作成してしまう脆弱性が発見されました。 また、Windows 版 Ruby にバンドルされている tempfile ライブラリは、内部で tmpdir を使用しているため同様の脆弱性があります。 この脆弱性は CVE-2021-28966 として登録されています。
詳細
tmpdir ライブラリで導入された Dir.mktmpdir メソッドは、第一引数に作成するディレクトリ名のプレフィックスとサフィックスを受け取ることができます。
プレフィックスには相対ディレクトリ指定子 "..\\" を含めることができるため、このメソッドは任意のディレクトリを対象にすることができます。
したがって、スクリプトが外部入力をプレフィックスとして受け取り、対象のディレクトリに不適切なアクセス許可がある、もしくは、ruby プロセスに不適切な権限がある場合に、攻撃者は任意のディレクトリに対してディレクトリやファイルを作成することができます。
同じ脆弱性が CVE-2018-6914 として登録されていますが、Windows 版の対応が不十分でした。
影響を受けるバージョンの Ruby を利用している全ユーザーは、すぐにアップグレードする必要があります。
影響を受けるバージョン
- Ruby 2.7.2 以前
- Ruby 3.0.0
クレジット
この脆弱性情報は Bugdiscloseguys 氏によって報告されました。
更新履歴
- 2021-04-05 21:00:00 (JST) 初版
最近のニュース
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