事例:CVE-2021-28966: Windows 版 Tempfile 内のパストラバーサルについて
Tempfile、TmpdirでのPath traversal
CVE-2021-28966: Windows 版 Tempfile 内のパストラバーサルについて
問題
事例:CVE-2018-6914: Tempfile および Tmpdir でのディレクトリトラバーサルを伴う意図しないファイルまたはディレクトリ作成の脆弱性について#63d5a2955515cd0000168f91 と同様の問題でWindowsへの対応
2020年のコミット の修正が影響
String#delete では \がエスケープとして扱われる
windowsでのFile::ALT_SEPARATORと同じ文字
修正以前はString#deleteへ渡す文字列の最後が\であったので削除する文字として扱われていた
修正時に\の後に文字が入ったのでエスケープに使う文字の扱いになり、Path traversalとなった
レポート
https://hackerone.com/reports/1131465
Path traversal in Ruby's Tempfile and mktmpdir on Windows
#事例
#CVE