Skip to content
Fencer Vulns
high 7.5

CVE-2020-10663 json

Unsafe object creation in json RubyGem

published 2020-04-28 6 y ago modified 2026-06-17 4 mo ago also EUVD-2020-0563 , GHSA-jphg-qwrw-7w9g

cvss
7.5
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
6.8%
EPSS 6.8% chance of exploitation in 30 days, percentile 94%
public exploits
0
none known

Summary

The JSON gem through 2.2.0 for Ruby, as used in Ruby 2.4 through 2.4.9, 2.5 through 2.5.7, and 2.6 through 2.6.5, has an Unsafe Object Creation Vulnerability. This is quite similar to CVE-2013-0269, but does not rely on poor garbage-collection behavior within Ruby. Specifically, use of JSON parsing methods can lead to creation of a malicious object within the interpreter, with adverse effects that are application-dependent.

Patch / fix

  • rubygems json 2.3.0
  • json_project json 2.3.0
  • rubygems json_gem 2.3.0
  • ruby-json Debian 14, Debian 13, Debian 12 2.3.0+dfsg-1

debian advisories DEBIAN-CVE-2020-10663

  • ruby2.3 Ubuntu 16.04 LTS 2.3.1-2~ubuntu16.04.15
  • ruby2.5 Ubuntu 18.04 LTS 2.5.1-1ubuntu1.8

ubuntu advisories UBUNTU-CVE-2020-10663

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

  • kibana OpenStack Cloud 7 4.6.3-5.1
  • ansible OpenStack Cloud 7 2.2.3.0-12.2
  • grafana OpenStack Cloud 7 4.6.5-1.14.1
  • memcached OpenStack Cloud 7 1.5.17-3.6.1
  • python-py OpenStack Cloud 7 1.8.1-11.12.1
  • zookeeper OpenStack Cloud 7 3.4.10-6.1
  • crowbar-ha OpenStack Cloud 7 4.0+git.1585316203.d6ad2c8-4.52.4
  • keepalived OpenStack Cloud 7 2.0.19-1.8.1

suse advisories SUSE-RU-2020:2072-1SUSE-SU-2020:1901-1SUSE-SU-2020:1570-1SUSE-SU-2020:0995-1

  • rubygem-json_pure openSUSE Tumbleweed 2.7.6-1.5
  • ruby4.0 openSUSE Tumbleweed 4.0.0~preview2-1.1
  • rubygem-json_pure openSUSE Tumbleweed 2.7.6-1.3
  • ruby3.4 openSUSE Tumbleweed 3.4.1-1.1
  • ruby2.7 openSUSE Tumbleweed 2.7.3-3.2
  • ruby3.0 openSUSE Tumbleweed 3.0.1-3.2
  • ruby3.1 openSUSE Tumbleweed 3.1.0-1.1
  • rubygem-json_pure openSUSE Tumbleweed 2.6.1-1.1

opensuse advisories openSUSE-SU-2026:10351-1openSUSE-SU-2025:15819-1openSUSE-SU-2025:15118-1openSUSE-SU-2025:14621-1openSUSE-SU-2024:11310-1openSUSE-SU-2024:11311-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 2.5.8-r0
  • ruby Alpine 3.24, Alpine 3.23, Alpine 3.22 +11 more 2.6.6-r0
  • ruby Alpine 3.7 2.4.10-r0

alpine advisories ALPINE-CVE-2020-10663

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2020-10663 updated cvss 7.3

rubygem-json: Unsafe object creation vulnerability in JSON

  • Red Hat CloudForms Management Engine 5 rubygem-json
    affected: workaround, no fix available
  • Red Hat 3scale API Management Platform 2 system
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Enterprise Linux 7 ruby, ruby-irb, rubygems, ruby-libs, ruby-tcltk, rubygem-json, +6 more
    affected: workaround, no fix planned “Will not fix”
  • Red Hat JBoss Fuse Service Works 6 jruby jruby Red Hat JBoss SOA Platform 5 jruby jruby 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 more
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat Storage 3 pcs
    affected: workaround, no fix available “Fix deferred”
  • Red Hat Update Infrastructure 3 for Cloud Providers rubygem-json
    affected: workaround, 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 more
    fixed: 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 more
    fixed: vendor fix RHSA-2022:0581
show 8 more
  • 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 more
    fixed: vendor fix RHSA-2022:0582
  • Red Hat Enterprise Linux High Availability (v. 8) pcs 0.10.4-6.el8_2.1, pcs-snmp 0.10.4-6.el8_2.1
    fixed: vendor fix RHSA-2020:2462
  • Red Hat Enterprise Linux High Availability E4S (v. 8.0) pcs 0.10.1-4.el8_0.5, pcs-snmp 0.10.1-4.el8_0.5
    fixed: vendor fix RHSA-2020:2473
  • Red Hat Enterprise Linux High Availability EUS (v. 8.1) pcs 0.10.2-4.el8_1.1, pcs-snmp 0.10.2-4.el8_1.1
    fixed: vendor fix RHSA-2020:2670
  • Red Hat Enterprise Linux Resilient Storage (v. 8) pcs 0.10.4-6.el8_2.1, pcs-snmp 0.10.4-6.el8_2.1
    fixed: vendor fix RHSA-2020:2462
  • Red Hat Enterprise Linux Resilient Storage EUS (v. 8.1) pcs 0.10.2-4.el8_1.1, pcs-snmp 0.10.2-4.el8_1.1
    fixed: vendor fix RHSA-2020:2670
  • 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 more
    fixed: vendor fix RHSA-2021:2104
  • Red Hat CloudForms Management Engine 5 ruby, ruby-irb, rubygems, ruby-libs, rubygem-rake, rubygem-rdoc, +10 more Red Hat Enterprise Linux 5 ruby Red Hat Enterprise Linux 6 ruby, ruby-ri, ruby-irb, ruby-libs, ruby-rdoc, ruby-tcltk Red Hat Enterprise Linux 7 pcs, pcs-snmp, python-clufter Red Hat Fuse 7 jruby jruby Red Hat JBoss A-MQ 6 jruby-3977 jruby-3977, jruby-4198 jruby-4198
    +2 more products
    Red Hat JBoss Fuse 6 jruby jruby, jruby-complete, jruby-3977 jruby-3977, jruby-4198 jruby-4198 Red Hat Software Collections rh-ruby27-ruby, rh-ruby27-rubygems, rh-ruby27-ruby-libs, rh-ruby27-rubygem-irb, rh-ruby27-rubygem-json, rh-ruby27-rubygem-racc, +13 more
    not affected: vulnerable code not present

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

6.81% chance of exploitation in the next 30 days, higher than 94% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
NVD 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
NVD 2.0 5.0 AV:N/AC:L/Au:N/C:N/I:P/A:N

Affected packages

ecosystem package affected fixed in
rubygems json
<2.3.0
2.3.0

Classification

Weakness
  • CWE-20 Improper Input Validation

References

Sources

Fencer Vulns 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.

CPEs and fixed versions use Anchore's correction of NVD's data: Improved version ranges and CPE configurations.