Posted by nagachika on 14 Dec 2017
Translated by usa
Ruby の標準添付ライブラリである Net::FTP で、攻撃者により任意のコマンドを実行させられうる脆弱性が発見されました。 この脆弱性は、CVE-2017-17405 として登録されています。
詳細
Net::FTP#get
, getbinaryfile
, gettextfile
, put
, putbinaryfile
, および puttextfile
は、ローカルのファイルを開くために、それぞれ内部で Kernel#open
を使用しています。しかし、もし localfile
引数がパイプ文字 "|"
で開始されていた場合、パイプ文字以降に並べられたコマンドが実行されてしまいます。 localfile
のデフォルト値は File.basename(remotefile)
であるため、悪意のある FTP サーバは任意のコマンドを実行させることができます。
この問題の影響を受けるバージョンの Ruby のユーザーは、速やかに問題の修正されたバージョンに更新してください。
影響を受けるバージョン
- Ruby 2.2.8 以前の全ての Ruby 2.2 系列
- Ruby 2.3.5 以前の全ての Ruby 2.3 系列
- Ruby 2.4.2 以前の全ての Ruby 2.4 系列
- Ruby 2.5.0-preview1
- revision 61242 より前の開発版
クレジット
この脆弱性情報は、Heroku product security team の Etienne Stalmans 氏によって報告されました。
更新履歴
- 2017-12-15 01:00:00 (JST) 初版