CVE-2017-17405
HighPublic exploitruby1.9.1 - security update
Published Dec 15, 2017 · Updated Jul 8, 2026 · Also known as ALPINE-CVE-2017-17405, DEBIAN-CVE-2017-17405, DEBIAN-CVE-2017-17790, DLA-1221-1, DLA-1222-1, DSA-4259-1, UBUNTU-CVE-2017-17405, USN-3515-1
Key Facts
Patch immediately- CVE-2017-17405 is a high-severity vulnerability (CVSS 8.8 v3.1) affecting Ruby (Ruby-Lang), Debian Linux, Enterprise Linux Desktop (Redhat) and 22 more products.
- It is not listed in any known-exploited vulnerabilities catalog. Public exploit code is available.
- EPSS estimates a 74% probability of exploitation in the next 30 days.
- Fixed versions are available, including libruby2_1-2_1 2.1.9-19.3.2, rh-ruby22-ruby 0:2.2.9-19.el6, rh-ruby22-ruby 0:2.2.9-19.el7.
- Brandefense priority: patch immediately, because it is very likely to be exploited soon.
CVSS v3.1
8.8
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
EPSS (30-day exploit likelihood)
74%
Higher than 99.4% of all scored CVEs
Exploited in the wild
No known
Not in a known-exploited catalog
Public exploit code
Available
Proof-of-concept or weaponized module
Get the full CVE-2017-17405 brief as a PDF
Every affected product and fixed release, exploitation status and a first 24 hours response checklist, emailed within minutes.
Description
Ruby before 2.4.3 allows Net::FTP command injection. 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.
Affected Products
143 affected entries in total| Product | Affected versions | Fixed in |
|---|---|---|
| RubyRuby-Lang | 2.5.0-preview1 | 2.2.8 |
| Debian LinuxDebian | 7.0, 8.0, 9.0 | n/a |
| Enterprise Linux DesktopRedhat | 7.0 | n/a |
| Enterprise Linux ServerRedhat | 7.0 | n/a |
| Enterprise Linux Server AusRedhat | 7.4, 7.6 | n/a |
Patched Releases
libruby2_1-2_1
2.1.9-19.3.2
rh-ruby22-ruby
0:2.2.9-19.el6, 0:2.2.9-19.el7
rh-ruby23-ruby
0:2.3.6-67.el6, 0:2.3.6-67.el7
rh-ruby24-ruby
0:2.4.3-90.el6, 0:2.4.3-90.el7
Ruby
0:2.0.0.648-33.el7_4, 2.0.0.648-33.el7_4, 2.2.9-r0, 2.3.6-r0, 2.4.3-1.ph1, 2.4.3-1.ph2, 2.4.3-r0, 2.5.3-1.ph3, 2.2.8
ruby-devel
2.0.0.648-33.el7_4
ruby-doc
2.0.0.648-33.el7_4
ruby-irb
2.0.0.648-33.el7_4
ruby-libs
2.0.0.648-33.el7_4
ruby-tcltk
2.0.0.648-33.el7_4
ruby1.8
1.8.7.358-7.1+deb7u5
ruby1.9.1
1.9.3.194-8.1+deb7u7, 1.9.3.484-2ubuntu1.6
ruby2.0
2.0.0.484-1ubuntu2.5
ruby2.1
2.1.5-2+deb8u4, 2.1.9-19.3.2
ruby2.1-devel
2.1.9-19.3.2
ruby2.1-stdlib
2.1.9-19.3.2
ruby2.3
2.3.1-2~16.04.4, 2.3.3-1+deb9u3
rubygem-bigdecimal
1.2.0-33.el7_4
rubygem-io-console
0.4.2-33.el7_4
rubygem-json
1.7.7-33.el7_4
rubygem-minitest
4.3.2-33.el7_4
rubygem-psych
2.0.0-33.el7_4
rubygem-rake
0.9.6-33.el7_4
rubygem-rdoc
4.0.0-33.el7_4
rubygems
2.0.14.1-33.el7_4
Timeline
Publicly disclosed
Dec 15, 2017
Last updated
Jul 8, 2026
Weakness Type
- CWE-20 Improper Input Validation
- CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
References
- advisoryRHSA-2018:0378
- advisoryRHSA-2018:0583
- advisoryRHSA-2018:0584
- advisoryRHSA-2018:0585
- advisoryRHSA-2019:2806
FAQ
Common Questions.
Ruby before 2.4.3 allows Net::FTP command injection.
Affected: Ruby (Ruby-Lang) versions 2.5.0-preview1; Debian Linux versions 7.0, 8.0, 9.0; Enterprise Linux Desktop (Redhat) versions 7.0, among others. The full list is in the CVE brief.
It is not listed in any known-exploited vulnerabilities catalog.
No, it is not currently listed in the CISA Known Exploited Vulnerabilities catalog.
Public exploit code is available.
Fixed versions are available, including libruby2_1-2_1 2.1.9-19.3.2, rh-ruby22-ruby 0:2.2.9-19.el6, rh-ruby22-ruby 0:2.2.9-19.el7.
Brandefense priority: patch immediately, because it is very likely to be exploited soon.
Is CVE-2017-17405 Running On Your Attack Surface?
Brandefense maps vulnerabilities like this one to your internet-facing assets and tells you exactly where to patch.
Request A Demo