Description
Directory traversal vulnerability in the Dir.mktmpdir method in the tmpdir library in Ruby before 2.2.10, 2.3.x before 2.3.7, 2.4.x before 2.4.4, 2.5.x before 2.5.1, and 2.6.0-preview1 might allow attackers to create arbitrary directories or files via a .. (dot dot) in the prefix argument.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 9 | ruby2.3 | 2.3.3-1+deb9u3 | DSA-4259-1 |
| Debian 8 | ruby2.1 | 2.1.5-2+deb8u4 | DLA-1421-1 |
| Debian 7 | ruby1.8 | 1.8.7.358-7.1+deb7u6 | DLA-1359-1 |
| Debian 7 | ruby1.9.1 | 1.9.3.194-8.1+deb7u8 | DLA-1358-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | ruby2.3 | 2.3.1-2~16.04.9 | USN-3626-1 |
| Ubuntu 14.04 LTS | ruby1.9.1 | 1.9.3.484-2ubuntu1.11 | USN-3626-1 |
| Ubuntu 14.04 LTS | ruby2.0 | 2.0.0.484-1ubuntu2.9 | USN-3626-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 7 | ruby +5 | 2.0.0.648-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-bigdecimal | 1.2.0-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-io-console | 0.4.2-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-json | 1.7.7-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-minitest | 4.3.2-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-psych | 2.0.0-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-rake | 0.9.6-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygem-rdoc | 4.0.0-36.el7 | RHSA-2019:2028 |
| RHEL 7 | rubygems +1 | 2.0.14.1-36.el7 | RHSA-2019:2028 |
| RHEL 3 | rh-ruby23-ruby +5 | 2.3.8-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-bigdecimal | 1.2.8-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-did_you_mean | 1.0.0-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-io-console | 0.4.5-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-json | 1.8.3.1-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-minitest | 5.8.5-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-net-telnet | 0.1.1-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-power_assert | 0.2.6-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-psych | 2.1.0.1-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-rake | 10.4.2-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-rdoc | 4.2.1-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygem-test-unit | 3.1.5-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby23-rubygems +1 | 2.5.2.3-69.el6 | RHSA-2018:3729 |
| RHEL 3 | rh-ruby24-ruby +4 | 2.4.5-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-bigdecimal | 1.3.2-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-did_you_mean | 1.1.0-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-io-console | 0.4.6-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-json | 2.0.4-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-minitest | 5.10.1-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-net-telnet | 0.1.1-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-openssl | 2.0.9-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-power_assert | 0.4.1-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-psych | 2.2.2-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-rake | 12.0.0-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-rdoc | 5.0.0-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-test-unit | 3.2.3-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygem-xmlrpc | 0.2.1-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby24-rubygems +1 | 2.6.14.3-91.el6 | RHSA-2018:3730 |
| RHEL 3 | rh-ruby25-ruby +4 | 2.5.3-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-bigdecimal | 1.3.4-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-did_you_mean | 1.2.0-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-io-console | 0.4.6-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-json | 2.1.0-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-minitest | 5.10.3-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-net-telnet | 0.1.1-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-openssl | 2.1.2-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-power_assert | 1.1.1-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-psych | 3.0.2-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-rake | 12.3.0-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-rdoc | 6.0.1-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-test-unit | 3.2.7-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygem-xmlrpc | 0.3.0-6.el7 | RHSA-2018:3731 |
| RHEL 3 | rh-ruby25-rubygems +1 | 2.7.6-6.el7 | RHSA-2018:3731 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP1 | ruby2.5 | 2.5.5-4.3.1 | SUSE-SU-2019:1804-1 |
| SLES 15 | ruby2.5 | 2.5.5-4.3.1 | SUSE-SU-2019:1804-1 |
| SLES 12 SP5 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES 12 SP4 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES 12 SP3 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
Show 10 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 12 SP2 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES 12 SP2 | yast2-ruby-bindings | 3.1.53-9.8.1 | SUSE-SU-2020:1570-1 |
| SLES for SAP 12 SP5 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES for SAP 12 SP4 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES for SAP 12 SP3 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES for SAP 12 SP2 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SLES for SAP 12 SP2 | yast2-ruby-bindings | 3.1.53-9.8.1 | SUSE-SU-2020:1570-1 |
| SUSE OpenStack Cloud Crowbar 8 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SUSE OpenStack Cloud 8 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SUSE OpenStack Cloud 7 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SUSE OpenStack Cloud 7 | yast2-ruby-bindings | 3.1.53-9.8.1 | SUSE-SU-2020:1570-1 |
| SUSE HPE Helion OpenStack 8 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
| SUSE Enterprise Storage 5 | ruby2.1 | 2.1.9-19.3.2 | SUSE-SU-2020:1570-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.1 | ruby-bundled-gems-rpmhelper | 0.0.2-lp151.2.1 | openSUSE-SU-2019:1771-1 |
| openSUSE Leap 15.1 | ruby2.5 | 2.5.5-lp151.4.3.1 | openSUSE-SU-2019:1771-1 |
| openSUSE Leap 15.0 | ruby-bundled-gems-rpmhelper | 0.0.2-lp151.2.1 | openSUSE-SU-2019:1771-1 |
| openSUSE Leap 15.0 | ruby2.5 | 2.5.5-lp151.4.3.1 | openSUSE-SU-2019:1771-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | ruby | 2.5.1-r0 | — |
| Alpine v3.23 | ruby | 2.5.1-r0 | — |
| Alpine v3.22 | ruby | 2.5.1-r0 | — |
| Alpine v3.21 | ruby | 2.5.1-r0 | — |
| Alpine v3.20 | ruby | 2.5.1-r0 | — |
Show 16 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | ruby | 2.5.1-r0 | — |
| Alpine v3.18 | ruby | 2.5.1-r0 | — |
| Alpine v3.17 | ruby | 2.5.1-r0 | — |
| Alpine v3.16 | ruby | 2.5.1-r0 | — |
| Alpine v3.15 | ruby | 2.5.1-r0 | — |
| Alpine v3.14 | ruby | 2.5.1-r0 | — |
| Alpine v3.13 | ruby | 2.5.1-r0 | — |
| Alpine v3.12 | ruby | 2.5.1-r0 | — |
| Alpine v3.11 | ruby | 2.5.1-r0 | — |
| Alpine v3.10 | ruby | 2.5.1-r0 | — |
| Alpine v3.9 | ruby | 2.5.1-r0 | — |
| Alpine v3.8 | ruby | 2.5.1-r0 | — |
| Alpine v3.7 | ruby | 2.4.4-r0 | — |
| Alpine v3.6 | ruby | 2.4.4-r0 | — |
| Alpine v3.5 | ruby | 2.3.7-r0 | — |
| Alpine v3.4 | ruby | 2.3.7-r0 | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2 | ruby +5 | 2.0.0.648-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-bigdecimal | 1.2.0-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-io-console | 0.4.2-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-json | 1.7.7-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-minitest | 4.3.2-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-psych | 2.0.0-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-rake | 0.9.6-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygem-rdoc | 4.0.0-36.amzn2.0.1 | ALAS2-2019-1276 |
| Amazon Linux 2 | rubygems +1 | 2.0.14.1-36.amzn2.0.1 | ALAS2-2019-1276 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 7 | ruby +5 | 2.0.0.648-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-bigdecimal | 1.2.0-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-io-console | 0.4.2-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-json | 1.7.7-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-minitest | 4.3.2-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-psych | 2.0.0-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-rake | 0.9.6-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygem-rdoc | 4.0.0-36.el7 | ELSA-2019-2028 |
| Oracle Linux 7 | rubygems +1 | 2.0.14.1-36.el7 | ELSA-2019-2028 |
Advisories 15
- RHSA-2019:2028 Red Hat Security Advisory: ruby security update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- RHSA-2018:3731 Red Hat Security Advisory: rh-ruby25-ruby security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- RHSA-2018:3730 Red Hat Security Advisory: rh-ruby24-ruby security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- RHSA-2018:3729 Red Hat Security Advisory: rh-ruby23-ruby security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- WID-SEC-2023-1111 Ruby: Mehrere Schwachstellen BSI CERT-Bund (WID) · May 7, 2026
- USN-3626-1 ruby1.9.1, ruby2.0, ruby2.3 vulnerabilities Ubuntu Security Notices (USN) · Apr 22, 2026
- DSA-4259-1 ruby2.3 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-1359-1 ruby1.8 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-1358-1 ruby1.9.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-1421-1 ruby2.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- openSUSE-SU-2019:1771-1 Security update for ruby-bundled-gems-rpmhelper, ruby2.5 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2019:1804-1 Security update for ruby-bundled-gems-rpmhelper, ruby2.5 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:1570-1 Security update for ruby2.1 SUSE / openSUSE Security Updates · Feb 4, 2026
- ALAS2-2019-1276 Moderate: ruby security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Aug 27, 2019
- ELSA-2019-2028 Moderate: ruby security update (Oracle Linux 7) Oracle Linux Security Advisories (ELSA) · Aug 13, 2019
References
- https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-5-1-released/
- RHSA-2018:3729 vendor-advisory
- USN-3626-1 vendor-advisory
- 1042004 vdb-entry
- 103686 vdb-entry
- RHSA-2018:3730 vendor-advisory
- [debian-lts-announce] 20180423 [SECURITY] [DLA 1358-1] ruby1.9.1 security update mailing-list
- RHSA-2018:3731 vendor-advisory
- https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-3-7-released/
- [debian-lts-announce] 20180714 [SECURITY] [DLA 1421-1] ruby2.1 security update mailing-list
- https://www.ruby-lang.org/en/news/2018/03/28/unintentional-file-and-directory-creation-with-directory-traversal-cve-2018-6914/
- https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-4-4-released/
- DSA-4259 vendor-advisory
- https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-2-10-released/
- [debian-lts-announce] 20180423 [SECURITY] [DLA 1359-1] ruby1.8 security update mailing-list
- openSUSE-SU-2019:1771 vendor-advisory
- RHSA-2019:2028 vendor-advisory