CVE-2017-17405: Net::FTP におけるコマンドインジェクションの脆弱性について

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) 初版