CVE-2017-17405: Command injection vulnerability in Net::FTP
Posted by nagachika on 14 Dec 2017
There is a command injection vulnerability in Net::FTP bundled with Ruby. This vulnerability has been assigned the CVE identifier CVE-2017-17405.
Details
Net::FTP#get, getbinaryfile, gettextfile, put, putbinaryfile, and
puttextfile use Kernel#open to open a local file. If the localfile
argument starts with the pipe character "|", the command following the
pipe character is executed. The default value of localfile is
File.basename(remotefile), so malicious FTP servers could cause arbitrary
command execution.
All users running an affected release should upgrade immediately.
Affected Versions
- Ruby 2.2 series: 2.2.8 and earlier
- Ruby 2.3 series: 2.3.5 and earlier
- Ruby 2.4 series: 2.4.2 and earlier
- Ruby 2.5 series: 2.5.0-preview1
- prior to trunk revision r61242
Credit
Thanks to Etienne Stalmans from the Heroku product security team for reporting the issue.
History
- Originally published at 2017-12-14 16:00:00 (UTC)
Recent News
Ruby 3.2.10 Released
Ruby 3.2.10 has been released.
Posted by hsbt on 14 Jan 2026
Ruby 4.0.1 Released
Ruby 4.0.1 has been released.
Posted by k0kubun on 13 Jan 2026
Ruby 4.0.0 Released
We are pleased to announce the release of Ruby 4.0.0. Ruby 4.0 introduces “Ruby Box” and “ZJIT”, and adds many improvements.
Posted by naruse on 25 Dec 2025
A New Look for Ruby's Documentation
Following the ruby-lang.org redesign, we have more news to celebrate Ruby’s 30th anniversary: docs.ruby-lang.org has a completely new look with Aliki—RDoc’s new default theme.
Posted by Stan Lo on 23 Dec 2025