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

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

最近のニュース

Ruby 4.0.0 リリース

Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。

Posted by naruse on 25 Dec 2025

サイトのアイデンティティの再設計

サイトの包括的なデザインのアップデートを発表できることを嬉しく思います。今回の更新ではTaeko Akatsukaさんにデザインを担当していただきました。

Posted by Hiroshi SHIBATA on 22 Dec 2025

Ruby 4.0.0 preview2 リリース

Ruby 4.0.0-preview2 が公開されました。Ruby 4.0では、Unicodeバージョンの17.0.0へのアップデートなど様々な改善が行われています。

Posted by naruse on 17 Nov 2025

もっと読む...