Every CVE Search/ Get API key

CVE-2016-2337

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different...

9.8 CriticalFix available

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

6.15%Up 3.6 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 9.8

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Record
CVE-2016-2337
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Updated
2026-11-02
CVE List No score

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Record
CVE-2016-2337
Updated
2026-11-02
EUVDEUVD-2016-3421 No score

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Record
EUVD-2016-3421
Updated
2026-11-03
GitHub AdvisoriesGHSA-f58m-77qc-8gjv 9.8

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different...

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Record
GHSA-f58m-77qc-8gjv
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 9.8

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Record
CVE-2016-2337
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2016-2337 9.8

Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

Record
UBUNTU-CVE-2016-2337
CVSS 3.0
9.8 CriticalCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVCLSA-2025-1759222758 No score

ruby: Fix of 4 CVEs

  • CVE-2016-2337: Fix type confusion in _cancel_eval Ruby's TclTkIp class method to prevent arbitrary code execution
  • CVE-2017-9224: Fix stack out-of-bounds read in match_at() during regular expression searching
  • CVE-2017-9227: Fix stack out-of-bounds read in mbc_enc_len() and invalid pointer dereference in forward_search_range()
  • CVE-2017-9228: Fix heap out-of-bounds write in bitset_set_range() and parse_char_class() by initializing critical local variable
Record
CLSA-2025-1759222758
Updated
2026-11-02
OSVMGASA-2017-0290 No score

Updated ruby packages fix security vulnerabilities

It was discovered that Ruby Net::SMTP incorrectly handled CRLF sequences. A remote attacker could possibly use this issue to inject SMTP commands. (CVE-2015-9096)

Marcin Noga discovered that Ruby incorrectly handled certain arguments in a TclTkIp class method. An attacker could possibly use this issue to execute arbitrary code. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-2337)

It was discovered that Ruby Fiddle::Function.new incorrectly handled certain arguments. An attacker could possibly use this issue to execute arbitrary code. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-2339)

Record
MGASA-2017-0290
Updated
2026-11-02
OSVUSN-3365-1 No score

ruby1.9.1, ruby2.0, ruby2.3 vulnerabilities

It was discovered that Ruby DL::dlopen incorrectly handled opening libraries. An attacker could possibly use this issue to open libraries with tainted names. This issue only applied to Ubuntu 14.04 LTS. (CVE-2009-5147)

Tony Arcieri, Jeffrey Walton, and Steffan Ullrich discovered that the Ruby OpenSSL extension incorrectly handled hostname wildcard matching. This issue only applied to Ubuntu 14.04 LTS. (CVE-2015-1855)

Christian Hofstaedtler discovered that Ruby Fiddle::Handle incorrectly handled certain crafted strings. An attacker could use this issue to cause a denial of service, or possibly execute arbitrary code. This issue only applied to Ubuntu 14.04 LTS. (CVE-2015-7551)

It was discovered that Ruby Net::SMTP incorrectly handled CRLF sequences. A remote attacker could possibly use this issue to inject SMTP commands. (CVE-2015-9096)

Marcin Noga discovered that Ruby incorrectly handled certain arguments in a TclTkIp class method. An attacker could possibly use this issue to execute arbitrary code. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-2337)

It was discovered that Ruby Fiddle::Function.new incorrectly handled certain arguments. An attacker could possibly use this issue to execute arbitrary code. This issue only affected Ubuntu 14.04 LTS. (CVE-2016-2339)

It was discovered that Ruby incorrectly handled the initialization vector (IV) in GCM mode. An attacker could possibly use this issue to bypass encryption. (CVE-2016-7798)

Record
USN-3365-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ruby
TuxCare:CentOS:7
before 2.0.0.648-39.el7_9.tuxcare.els11
2.0.0.648-39.el7_9.tuxcare.els11
ruby-devel
TuxCare:CentOS:7
before 2.0.0.648-39.el7_9.tuxcare.els11
2.0.0.648-39.el7_9.tuxcare.els11
ruby-doc
TuxCare:CentOS:7
before 2.0.0.648-39.el7_9.tuxcare.els11
2.0.0.648-39.el7_9.tuxcare.els11
ruby-irb
TuxCare:CentOS:7
before 2.0.0.648-39.el7_9.tuxcare.els11
2.0.0.648-39.el7_9.tuxcare.els11
ruby-libs
TuxCare:CentOS:7
before 2.0.0.648-39.el7_9.tuxcare.els11
2.0.0.648-39.el7_9.tuxcare.els11
ruby-tcltk
TuxCare:CentOS:7
before 2.0.0.648-39.el7_9.tuxcare.els11
2.0.0.648-39.el7_9.tuxcare.els11
rubygem-bigdecimal
TuxCare:CentOS:7
before 1.2.0-39.el7_9.tuxcare.els11
1.2.0-39.el7_9.tuxcare.els11
rubygem-io-console
TuxCare:CentOS:7
before 0.4.2-39.el7_9.tuxcare.els11
0.4.2-39.el7_9.tuxcare.els11
rubygem-json
TuxCare:CentOS:7
before 1.7.7-39.el7_9.tuxcare.els11
1.7.7-39.el7_9.tuxcare.els11
rubygem-minitest
TuxCare:CentOS:7
before 4.3.2-39.el7_9.tuxcare.els11
4.3.2-39.el7_9.tuxcare.els11
Show 11 moreShow less
Affected packages
PackageAffectedFixed
rubygem-psych
TuxCare:CentOS:7
before 2.0.0-39.el7_9.tuxcare.els11
2.0.0-39.el7_9.tuxcare.els11
rubygem-rake
TuxCare:CentOS:7
before 0.9.6-39.el7_9.tuxcare.els11
0.9.6-39.el7_9.tuxcare.els11
rubygem-rdoc
TuxCare:CentOS:7
before 4.0.0-39.el7_9.tuxcare.els11
4.0.0-39.el7_9.tuxcare.els11
rubygems
TuxCare:CentOS:7
before 2.0.14.1-39.el7_9.tuxcare.els11
2.0.14.1-39.el7_9.tuxcare.els11
rubygems-devel
TuxCare:CentOS:7
before 2.0.14.1-39.el7_9.tuxcare.els11
2.0.14.1-39.el7_9.tuxcare.els11
ruby2.1
Debian:8
before 2.1.5-2+deb8u5, plus listed versions
2.1.5-22.1.5-2+deb8u12.1.5-2+deb8u22.1.5-2+deb8u32.1.5-2+deb8u4
2.1.5-2+deb8u5
ruby
Mageia:5
before 2.0.0.p648-1.4.mga5
2.0.0.p648-1.4.mga5
ruby
Mageia:6
before 2.2.7-1.mga6
2.2.7-1.mga6
ruby1.9.1
Ubuntu:14.04:LTS
before 1.9.3.484-2ubuntu1.3, plus listed versions
1.9.3.194-8.1ubuntu21.9.3.448-1ubuntu11.9.3.448-1ubuntu21.9.3.484-1ubuntu11.9.3.484-1ubuntu21.9.3.484-2ubuntu11.9.3.484-2ubuntu1.11.9.3.484-2ubuntu1.2
1.9.3.484-2ubuntu1.3
ruby2.0
Ubuntu:14.04:LTS
before 2.0.0.484-1ubuntu2.4, plus listed versions
2.0.0.299-22.0.0.343-12.0.0.343-1ubuntu12.0.0.353-12.0.0.353-1ubuntu1
Show 4 moreShow less
2.0.0.484-1ubuntu12.0.0.484-1ubuntu22.0.0.484-1ubuntu2.12.0.0.484-1ubuntu2.2
2.0.0.484-1ubuntu2.4
ruby2.3
Ubuntu:16.04:LTS
before 2.3.1-2~16.04.2, plus listed versions
2.3.0-12.3.0-22.3.0-4ubuntu22.3.0-4ubuntu32.3.0-5ubuntu12.3.1-2~16.04
2.3.1-2~16.04.2

History

History
RecordedChangedSources
aliases, productsEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2016-2337 is a critical vulnerability (CVSS 9.8) in Hackerone Ruby, published January 6, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 6.15%, the 93rd percentile. Fixed in ruby 2.0.0.648-39.el7_9.tuxcare.els11.

References

Show 13 moreShow less
MoveEnter Open