CVE-2022-28738
A double free was found in the Regexp compiler in Ruby 3.x before 3.0.4 and 3.1.x before 3.1.2. If a victim attempts to create a Regexp from untrusted user input, an attacker may be able to write to
02 Description
A double free was found in the Regexp compiler in Ruby 3.x before 3.0.4 and 3.1.x before 3.1.2. If a victim attempts to create a Regexp from untrusted user input, an attacker may be able to write to
03 Exploitation and scoring
- Exploitation
- Not assessed. CISA has not published an exploitation assessment for this record, and it is not in the KEV catalog. That is an absence of assessment, not a finding of no risk.
- SSVC decision
- Not assessed by CISA
- EPSS probability
- 3.13% probability of exploitation activity in the next 30 days.
- EPSS percentile
- Equal to or higher than the score of 87.8% of scored records. A rank, not a probability.
- NVD base score
- 9.8 (CVSS v3.x), scored by the NVD independently of the CNA.
- NVD CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- NVD analysis status
- Modified. NVD last modified this record on 2026-06-17.
- Red Hat severity
- Moderate. Red Hat's rating for its own products, not a CVSS rating.
Exploit-prediction scores from FIRST. Independent scoring and analysis status from the NVD. Vendor severity from Red Hat. Exploitation assessment and catalog membership from CISA.
04 Metadata
- Published
- 2022-05-09 00:00Z4 YR AGO
- Last updated
- 2024-08-03 06:03Z2 YR AGO
- Reserved
- 2022-04-06
- Assigning CNA
- mitre
- Record state
- PUBLISHED
- Severity
- Not rated by the issuing CNA
- CNA CVSS vector
- Not published by the issuing CNA
- Weaknesses
- CWE-415Double FreeVariant
- Data version
- 5.1
- Document digest
- 04c74d642ff716abe59a46a6e7b7814d433cf1c1e753609550cc786d7f137e5e
05 Affected products
06 References
- hackerone.comhttps://hackerone.com/reports/1220911
- www.ruby-lang.orghttps://www.ruby-lang.org/en/news/2022/04/12/double-free-in-regexp-compilation-cve-2022-28738/
- security-tracker.debian.orghttps://security-tracker.debian.org/tracker/CVE-2022-28738
- security.netapp.comhttps://security.netapp.com/advisory/ntap-20220624-0002/
- security.gentoo.orgGLSA-202401-27https://security.gentoo.org/glsa/202401-27
07 Fixed in
AlmaLinux 8
- ruby Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-default-gems Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-devel Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-doc Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-libs Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- rubygem-abrt Fixed in 0.4.0-1.module_el8.5.0+2595+0c654ebc
- rubygem-abrt-doc Fixed in 0.4.0-1.module_el8.5.0+2595+0c654ebc
- rubygem-bigdecimal Fixed in 3.0.0-141.module_el8.6.0+3263+41cde0c0
- rubygem-bundler Fixed in 2.2.33-141.module_el8.6.0+3263+41cde0c0
- rubygem-io-console Fixed in 0.5.7-141.module_el8.6.0+3263+41cde0c0
- rubygem-irb Fixed in 1.3.5-141.module_el8.6.0+3263+41cde0c0
- rubygem-json Fixed in 2.5.1-141.module_el8.6.0+3263+41cde0c0
- rubygem-minitest Fixed in 5.14.2-141.module_el8.6.0+3263+41cde0c0
- rubygem-mysql2 Fixed
A version is affected if any line below covers it.
- Affected before 0.5.3-1.module_el8.5.0+118+1ab773e1
- Affected before 0.5.3-1.module_el8.5.0+2595+0c654ebc
- Affected before 0.5.3-1.module_el8.6.0+3144+d138acf1
- rubygem-mysql2-doc Fixed in 0.5.3-1.module_el8.5.0+2595+0c654ebc
- rubygem-pg Fixed
A version is affected if any line below covers it.
- Affected before 1.2.3-1.module_el8.5.0+118+1ab773e1
- Affected before 1.2.3-1.module_el8.5.0+2595+0c654ebc
- Affected before 1.2.3-1.module_el8.6.0+3144+d138acf1
- rubygem-pg-doc Fixed in 1.2.3-1.module_el8.5.0+2595+0c654ebc
- rubygem-power_assert Fixed in 1.2.0-141.module_el8.6.0+3263+41cde0c0
- rubygem-psych Fixed in 3.3.2-141.module_el8.6.0+3263+41cde0c0
- rubygem-rake Fixed in 13.0.3-141.module_el8.6.0+3263+41cde0c0
- rubygem-rbs Fixed in 1.4.0-141.module_el8.6.0+3263+41cde0c0
- rubygem-rdoc Fixed in 6.3.3-141.module_el8.6.0+3263+41cde0c0
- rubygem-rexml Fixed in 3.2.5-141.module_el8.6.0+3263+41cde0c0
- rubygem-rss Fixed in 0.2.9-141.module_el8.6.0+3263+41cde0c0
- rubygem-test-unit Fixed in 3.3.7-141.module_el8.6.0+3263+41cde0c0
- rubygem-typeprof Fixed in 0.15.2-141.module_el8.6.0+3263+41cde0c0
- rubygems Fixed in 3.2.33-141.module_el8.6.0+3263+41cde0c0
- rubygems-devel Fixed in 3.2.33-141.module_el8.6.0+3263+41cde0c0
Source: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
AlmaLinux 9
- ruby Fixed in 3.0.4-160.el9_0
- ruby-default-gems Fixed in 3.0.4-160.el9_0
- ruby-devel Fixed in 3.0.4-160.el9_0
- ruby-doc Fixed in 3.0.4-160.el9_0
- ruby-libs Fixed in 3.0.4-160.el9_0
- rubygem-bigdecimal Fixed in 3.0.0-160.el9_0
- rubygem-bundler Fixed in 2.2.33-160.el9_0
- rubygem-io-console Fixed in 0.5.7-160.el9_0
- rubygem-irb Fixed in 1.3.5-160.el9_0
- rubygem-json Fixed in 2.5.1-160.el9_0
- rubygem-minitest Fixed in 5.14.2-160.el9_0
- rubygem-power_assert Fixed in 1.2.0-160.el9_0
- rubygem-psych Fixed in 3.3.2-160.el9_0
- rubygem-rake Fixed in 13.0.3-160.el9_0
- rubygem-rbs Fixed in 1.4.0-160.el9_0
- rubygem-rdoc Fixed in 6.3.3-160.el9_0
- rubygem-rexml Fixed in 3.2.5-160.el9_0
- rubygem-rss Fixed in 0.2.9-160.el9_0
- rubygem-test-unit Fixed in 3.3.7-160.el9_0
- rubygem-typeprof Fixed in 0.15.2-160.el9_0
- rubygems Fixed in 3.2.33-160.el9_0
- rubygems-devel Fixed in 3.2.33-160.el9_0
Source: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
Arch Linux
- ruby Fixed in 3.0.4-1
Source: Arch Linux Security Tracker, the Arch Linux security team. Reformatted by exploit.cc.
CloudLinux 8
- ruby Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-default-gems Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-devel Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-doc Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- ruby-libs Fixed in 3.0.4-141.module_el8.6.0+3263+41cde0c0
- rubygem-abrt Fixed in 0.4.0-1.module_el8.5.0+2595+0c654ebc
- rubygem-abrt-doc Fixed in 0.4.0-1.module_el8.5.0+2595+0c654ebc
- rubygem-bigdecimal Fixed in 3.0.0-141.module_el8.6.0+3263+41cde0c0
- rubygem-bundler Fixed in 2.2.33-141.module_el8.6.0+3263+41cde0c0
- rubygem-io-console Fixed in 0.5.7-141.module_el8.6.0+3263+41cde0c0
- rubygem-irb Fixed in 1.3.5-141.module_el8.6.0+3263+41cde0c0
- rubygem-json Fixed in 2.5.1-141.module_el8.6.0+3263+41cde0c0
- rubygem-minitest Fixed in 5.14.2-141.module_el8.6.0+3263+41cde0c0
- rubygem-mysql2 Fixed
A version is affected if any line below covers it.
- Affected before 0.5.3-1.module_el8.5.0+118+1ab773e1
- Affected before 0.5.3-1.module_el8.5.0+2595+0c654ebc
- Affected before 0.5.3-1.module_el8.6.0+3144+d138acf1
- rubygem-mysql2-doc Fixed in 0.5.3-1.module_el8.5.0+2595+0c654ebc
- rubygem-pg Fixed
A version is affected if any line below covers it.
- Affected before 1.2.3-1.module_el8.5.0+118+1ab773e1
- Affected before 1.2.3-1.module_el8.5.0+2595+0c654ebc
- Affected before 1.2.3-1.module_el8.6.0+3144+d138acf1
- rubygem-pg-doc Fixed in 1.2.3-1.module_el8.5.0+2595+0c654ebc
- rubygem-power_assert Fixed in 1.2.0-141.module_el8.6.0+3263+41cde0c0
- rubygem-psych Fixed in 3.3.2-141.module_el8.6.0+3263+41cde0c0
- rubygem-rake Fixed in 13.0.3-141.module_el8.6.0+3263+41cde0c0
- rubygem-rbs Fixed in 1.4.0-141.module_el8.6.0+3263+41cde0c0
- rubygem-rdoc Fixed in 6.3.3-141.module_el8.6.0+3263+41cde0c0
- rubygem-rexml Fixed in 3.2.5-141.module_el8.6.0+3263+41cde0c0
- rubygem-rss Fixed in 0.2.9-141.module_el8.6.0+3263+41cde0c0
- rubygem-test-unit Fixed in 3.3.7-141.module_el8.6.0+3263+41cde0c0
- rubygem-typeprof Fixed in 0.15.2-141.module_el8.6.0+3263+41cde0c0
- rubygems Fixed in 3.2.33-141.module_el8.6.0+3263+41cde0c0
- rubygems-devel Fixed in 3.2.33-141.module_el8.6.0+3263+41cde0c0
Derived from AlmaLinux 8. Partial coverage: only packages taken from AlmaLinux 8 are listed.
Source: CloudLinux errata, CloudLinux Inc. Derived from: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
CloudLinux 9
- ruby Fixed in 3.0.4-160.el9_0
- ruby-default-gems Fixed in 3.0.4-160.el9_0
- ruby-devel Fixed in 3.0.4-160.el9_0
- ruby-doc Fixed in 3.0.4-160.el9_0
- ruby-libs Fixed in 3.0.4-160.el9_0
- rubygem-bigdecimal Fixed in 3.0.0-160.el9_0
- rubygem-bundler Fixed in 2.2.33-160.el9_0
- rubygem-io-console Fixed in 0.5.7-160.el9_0
- rubygem-irb Fixed in 1.3.5-160.el9_0
- rubygem-json Fixed in 2.5.1-160.el9_0
- rubygem-minitest Fixed in 5.14.2-160.el9_0
- rubygem-power_assert Fixed in 1.2.0-160.el9_0
- rubygem-psych Fixed in 3.3.2-160.el9_0
- rubygem-rake Fixed in 13.0.3-160.el9_0
- rubygem-rbs Fixed in 1.4.0-160.el9_0
- rubygem-rdoc Fixed in 6.3.3-160.el9_0
- rubygem-rexml Fixed in 3.2.5-160.el9_0
- rubygem-rss Fixed in 0.2.9-160.el9_0
- rubygem-test-unit Fixed in 3.3.7-160.el9_0
- rubygem-typeprof Fixed in 0.15.2-160.el9_0
- rubygems Fixed in 3.2.33-160.el9_0
- rubygems-devel Fixed in 3.2.33-160.el9_0
Derived from AlmaLinux 9. Partial coverage: only packages taken from AlmaLinux 9 are listed.
Source: CloudLinux errata, CloudLinux Inc. Derived from: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu 22.04 LTS
- ruby3.0 Fixed in 3.0.2-7ubuntu2.1
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
A release or ecosystem missing from this list has no record here. It may be unaffected or not covered by the source. Source notices and licences.