CVE-2019-16255 json
Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 allows code injection if the first argument (aka the "command" argument) t…
published 6y ago modified 4mo ago also EUVD-2019-7061
- cvss
- 8.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 4.2%
- EPSS 4.2% chance of exploitation in 30 days, percentile 90%
- public exploits
- 0
- none known
Summary
Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 allows code injection if the first argument (aka the "command" argument) to Shell#[] or Shell#test in lib/shell.rb is untrusted data. An attacker can exploit this to call an arbitrary Ruby method.
Patch / fix
- jruby Debian 14, Debian 13, Debian 12 9.3.9.0+ds-1
debian advisories DEBIAN-CVE-2019-16255
- ruby2.3 Ubuntu 16.04 LTS 2.3.1-2~ubuntu16.04.14
- ruby2.5 Ubuntu 18.04 LTS 2.5.1-1ubuntu1.6
- jruby Ubuntu Pro 14.04 LTS 1.5.6-9+deb8u2build0.14.04.1~esm2
ubuntu advisories UBUNTU-CVE-2019-16255
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- rubygem-pg RHEL 8, RHEL 8.2 EUS, RHEL 8.1 E4S 1.1.4-1.module+el8.1.0+3653+beb38eb0
- rubygem-abrt RHEL 8, RHEL 8.2 EUS, RHEL 8.1 E4S 0.3.0-4.module+el8.1.0+3653+beb38eb0
- rubygem-bson RHEL 8, RHEL 8.2 EUS, RHEL 8.1 E4S 4.5.0-1.module+el8.1.0+3653+beb38eb0
- rubygem-mongo RHEL 8, RHEL 8.2 EUS, RHEL 8.1 E4S 2.8.0-1.module+el8.1.0+3653+beb38eb0
- ruby RHEL 8 2.6.7-107.module+el8.4.0+10830+bbd85cce
- rubygems RHEL 8 3.0.3.1-107.module+el8.4.0+10830+bbd85cce
- ruby-libs RHEL 8 2.6.7-107.module+el8.4.0+10830+bbd85cce
- rubygem-irb RHEL 8 1.0.0-107.module+el8.4.0+10830+bbd85cce
red hat advisories RHSA-2022:0582RHSA-2022:0581RHSA-2021:2588RHSA-2021:2587RHSA-2021:2230RHSA-2021:2104
- ruby2.1 SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +14 more 2.1.9-19.3.2
- yast2-ruby-bindings SLES for SAP 12 SP2, SLES 12 SP2-LTSS, SLES 12 SP2-BCL +1 more 3.1.53-9.8.1
- ruby2.5 SLES for SAP 15, SLES 15-LTSS, SLE Module for Basesystem 15 SP1 +2 more 2.5.7-4.8.1
suse advisories SUSE-SU-2020:1570-1SUSE-SU-2020:0737-1
- ruby2.5 openSUSE Leap 15.1 2.5.7-lp151.4.6.1
opensuse advisories openSUSE-SU-2020:0395-1
- rubygem-pg AlmaLinux 8 1.1.4-1.module_el8.5.0+250+ba22dbf7
- rubygem-pg AlmaLinux 8 1.1.4-1.module_el8.5.0+2623+08a8ba32
- rubygem-abrt AlmaLinux 8 0.3.0-4.module_el8.5.0+259+8cec6917
- rubygem-abrt AlmaLinux 8 0.3.0-4.module_el8.5.0+2623+08a8ba32
- rubygem-bson AlmaLinux 8 4.5.0-1.module_el8.5.0+2623+08a8ba32
- rubygem-bson AlmaLinux 8 4.5.0-1.module_el8.5.0+250+ba22dbf7
- rubygem-mongo AlmaLinux 8 2.8.0-1.module_el8.5.0+250+ba22dbf7
- rubygem-mongo AlmaLinux 8 2.8.0-1.module_el8.5.0+2623+08a8ba32
almalinux advisories ALSA-2021:2588ALSA-2021:2587
- ruby Rocky Linux 8 2.6.7-107.module+el8.4.0+593+8d7f9f0c
- rubygem-pg Rocky Linux 8 1.1.4-1.module+el8.5.0+738+032c9c02
- rubygem-pg Rocky Linux 8 1.1.4-1.module+el8.4.0+446+80b53620
- rubygem-pg Rocky Linux 8 1.1.4-1.module+el8.4.0+593+8d7f9f0c
- rubygem-abrt Rocky Linux 8 0.3.0-4.module+el8.5.0+738+032c9c02
- rubygem-abrt Rocky Linux 8 0.3.0-4.module+el8.3.0+167+5c390590
- rubygem-abrt Rocky Linux 8 0.3.0-4.module+el8.4.0+592+03ff458a
- rubygem-bson Rocky Linux 8 4.5.0-1.module+el8.4.0+593+8d7f9f0c
rocky linux advisories RLSA-2021:2588RLSA-2021:2587
- ruby Alpine 3.10, Alpine 3.9, Alpine 3.8 2.5.7-r0
- ruby Alpine 3.24, Alpine 3.23, Alpine 3.22 +11 more 2.6.5-r0
- ruby Alpine 3.7 2.4.10-r0
alpine advisories ALPINE-CVE-2019-16255
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- ruby Arch Linux 2.6.5-1
arch linux advisories AVG-1039
- hackerone.com/reports/327512 advisory
- oracle.com/security-alerts/cpujan2020.html advisory
Is CVE-2019-16255 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-16255 updated cvss 8.1
ruby: Code injection via command argument of Shell#test / Shell#[]
-
Red Hat 3scale API Management Platform 2 3amp-system 3amp-systemaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux 5 ruby Red Hat Enterprise Linux 6 ruby, ruby-ri, ruby-irb, ruby-libs, ruby-rdoc, ruby-tcltkaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 7 ruby, ruby-irb, rubygems, ruby-libs, ruby-tcltk, rubygem-json, +6 more Red Hat Software Collections rh-ruby24-ruby, rh-ruby24-ruby-irb, rh-ruby24-rubygems, rh-ruby24-ruby-libs, rh-ruby24-rubygem-json, rh-ruby24-rubygem-rake, +11 moreaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux AppStream (v. 8) ruby 2.5.9-107.module+el8.4.0+10822+fe4fffb1, ruby 2.6.7-107.module+el8.4.0+10830+bbd85cce, rubygem-pg 1.0.0-2.module+el8.1.0+3656+f80bfa1d, rubygem-pg 1.1.4-1.module+el8.1.0+3653+beb38eb0, ruby-irb 2.5.9-107.module+el8.4.0+10822+fe4fffb1, ruby-libs 2.5.9-107.module+el8.4.0+10822+fe4fffb1, +40 morefixed: vendor fix RHSA-2021:2587
-
Red Hat Enterprise Linux AppStream E4S (v. 8.1) ruby 2.6.9-107.module+el8.1.0+14088+04cf326e, rubygem-pg 1.1.4-1.module+el8.1.0+3653+beb38eb0, ruby-libs 2.6.9-107.module+el8.1.0+14088+04cf326e, rubygem-abrt 0.3.0-4.module+el8.1.0+3653+beb38eb0, rubygem-bson 4.5.0-1.module+el8.1.0+3653+beb38eb0, rubygem-mongo 2.8.0-1.module+el8.1.0+3653+beb38eb0, +17 morefixed: vendor fix RHSA-2022:0581
-
Red Hat Enterprise Linux AppStream EUS (v. 8.2) ruby 2.6.9-107.module+el8.2.0+14086+86d863af, rubygem-pg 1.1.4-1.module+el8.1.0+3653+beb38eb0, ruby-libs 2.6.9-107.module+el8.2.0+14086+86d863af, rubygem-abrt 0.3.0-4.module+el8.1.0+3653+beb38eb0, rubygem-bson 4.5.0-1.module+el8.1.0+3653+beb38eb0, rubygem-mongo 2.8.0-1.module+el8.1.0+3653+beb38eb0, +17 morefixed: vendor fix RHSA-2022:0582
-
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) rh-ruby25-ruby 2.5.9-9.el7, rh-ruby26-ruby 2.6.7-119.el7, rh-ruby25-ruby-irb 2.5.9-9.el7, rh-ruby25-ruby-libs 2.5.9-9.el7, rh-ruby25-rubygems 2.7.6.3-9.el7, rh-ruby26-ruby-libs 2.6.7-119.el7, +29 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.6) rh-ruby25-ruby 2.5.9-9.el7, rh-ruby25-ruby-irb 2.5.9-9.el7, rh-ruby25-ruby-libs 2.5.9-9.el7, rh-ruby25-rubygems 2.7.6.3-9.el7, rh-ruby25-rubygem-json 2.1.0-9.el7, rh-ruby25-rubygem-psych 3.0.2-9.el7, +11 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.7) rh-ruby25-ruby 2.5.9-9.el7, rh-ruby26-ruby 2.6.7-119.el7, rh-ruby25-ruby-irb 2.5.9-9.el7, rh-ruby25-ruby-libs 2.5.9-9.el7, rh-ruby25-rubygems 2.7.6.3-9.el7, rh-ruby26-ruby-libs 2.6.7-119.el7, +29 more Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) rh-ruby25-ruby 2.5.9-9.el7, rh-ruby26-ruby 2.6.7-119.el7, rh-ruby25-ruby-irb 2.5.9-9.el7, rh-ruby25-ruby-libs 2.5.9-9.el7, rh-ruby25-rubygems 2.7.6.3-9.el7, rh-ruby26-ruby-libs 2.6.7-119.el7, +29 morefixed: vendor fix RHSA-2021:2104
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
4.19% chance of exploitation in the next 30 days, higher than 90% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- hackerone.com https://hackerone.com/reports/327512 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 6.8 | AV:N/AC:M/Au:N/C:P/I:P/A:P |
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
hackerone.com
/reports/327512
exploit, patch, third-party-advisory
-
oracle.com
/security-alerts/cpujan2020.html
patch, third-party-advisory
-
debian.org
/security/2019/dsa-4587
vendor-advisory, third-party-advisory
-
security.gentoo.org
/glsa/202003-06
vendor-advisory, third-party-advisory
-
lists.opensuse.org
/opensuse-security-announce/2020-03/msg00041.html
vendor-advisory, third-party-advisory
-
ruby-lang.org
/ja/news/2019/10/01/code-injection-shell-test-cve-2019-16255/
vendor-advisory
-
lists.debian.org
/debian-lts-announce/2019/11/msg00025.html
mailing-list, third-party-advisory
-
ruby-lang.org
/ja/news/2019/10/01/ruby-2-6-5-released/
release-notes
-
ruby-lang.org
/ja/news/2019/10/01/ruby-2-5-7-released/
release-notes
-
ruby-lang.org
/ja/news/2019/10/01/ruby-2-4-8-released/
release-notes
-
lists.debian.org
/debian-lts-announce/2019/12/msg00009.html
mailing-list, third-party-advisory
-
seclists.org
/bugtraq/2019/Dec/31
mailing-list, broken-link, third-party-advisory
-
seclists.org
/bugtraq/2019/Dec/32
mailing-list, broken-link, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/08/msg00027.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2023/04/msg00033.html
mailing-list
Sources
- CVE List CVE-2019-16255
- NVD CVE-2019-16255
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.