CVE-2020-10933 json
An issue was discovered in Ruby 2.5.x through 2.5.7, 2.6.x through 2.6.5, and 2.7.0.
published 6y ago modified 2mo ago also BIT-ruby-2020-10933 , BIT-ruby-min-2020-10933 , EUVD-2020-3339
- cvss
- 5.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.5%
- EPSS 2.5% chance of exploitation in 30 days, percentile 84%
- public exploits
- 0
- none known
Summary
An issue was discovered in Ruby 2.5.x through 2.5.7, 2.6.x through 2.6.5, and 2.7.0. If a victim calls BasicSocket#read_nonblock(requested_size, buffer, exception: false), the method resizes the buffer to fit the requested size, but no data is copied. Thus, the buffer string provides the previous value of the heap. This may expose possibly sensitive data from the interpreter.
Patch / fix
- bitnami ruby 2.5.8, 2.6.6, 2.7.1
- bitnami ruby-min 2.5.8, 2.6.6, 2.7.1
- ruby2.7 Debian 11 2.7.1-1
debian advisories DEBIAN-CVE-2020-10933
- ruby2.5 Ubuntu 18.04 LTS 2.5.1-1ubuntu1.8
- ruby2.7 Ubuntu 20.04 LTS 2.7.0-5ubuntu1.3
ubuntu advisories UBUNTU-CVE-2020-10933
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.5 SLE Module for Basesystem 15 SP1 2.5.8-4.11.1
suse advisories SUSE-SU-2020:0995-1
- ruby4.0 openSUSE Tumbleweed 4.0.0~preview2-1.1
- 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
- ruby3.2 openSUSE Tumbleweed 3.2.1-1.1
- ruby3.3 openSUSE Tumbleweed 3.3.0-1.2
- ruby2.5 openSUSE Leap 15.1 2.5.8-lp151.4.9.1
opensuse advisories openSUSE-SU-2025:15819-1openSUSE-SU-2025:14621-1openSUSE-SU-2024:11310-1openSUSE-SU-2024:11311-1openSUSE-SU-2024:11786-1openSUSE-SU-2024:12712-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.8-r0
- ruby Alpine 3.24, Alpine 3.23, Alpine 3.22 +11 more 2.6.6-r0
alpine advisories ALPINE-CVE-2020-10933
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Is CVE-2020-10933 in your dependencies? 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-2020-10933 updated cvss 5.3
ruby: BasicSocket#read_nonblock method leads to information disclosure
-
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 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 ruby, ruby-irb, rubygems, ruby-libs, ruby-tcltk, rubygem-json, +6 morenot 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
2.53% chance of exploitation in the next 30 days, higher than 84% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- ruby-lang.org https://www.ruby-lang.org/en/news/2020/03/31/heap-exposure-in-socket-cve-2020-10933/ referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | ruby | >=2.5.0, <2.5.8 >=2.6.0, <2.6.6 >=2.7.0, <2.7.1 |
2.5.8 2.6.6 2.7.1 |
| bitnami | ruby-min | >=2.5.0, <2.5.8 >=2.6.0, <2.6.6 >=2.7.0, <2.7.1 |
2.5.8 2.6.6 2.7.1 |
Classification
- Weakness
-
- CWE-908 Use of Uninitialized Resource
References
-
ruby-lang.org
/en/news/2020/03/31/heap-exposure-in-socket-cve-2020-10933/
exploit, vendor-advisory, advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/F4TNVTT66VPRMX5UZYSDGSVRXKKDDDU5/
vendor-advisory, web
-
debian.org
/security/2020/dsa-4721
vendor-advisory, third-party-advisory, advisory
-
security.netapp.com
/advisory/ntap-20200625-0001/
third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-10933
web
Sources
- CVE List CVE-2020-10933
- NVD CVE-2020-10933
- OSV BIT-ruby-2020-10933
- OSV BIT-ruby-min-2020-10933
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.