事例: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