CVE-2025-27220 json
CGI has Regular Expression Denial of Service (ReDoS) potential in Util#escapeElement
published 2025-03-03 20 mo ago modified 2026-09-10 1 mo ago also EUVD-2025-5509 , GHSA-mhwm-jh88-3gjf
- cvss
- 4.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
In the CGI gem before 0.4.2 for Ruby, a Regular Expression Denial of Service (ReDoS) vulnerability exists in the Util#escapeElement method.
Patch / fix
- rubygems cgi 0.3.5.1, 0.3.7, 0.4.2
- ruby-lang CGI 0.3.5.1, 0.3.7, 0.4.2
- ruby3.3 Debian 14, Debian 13 3.3.7-2
debian advisories DEBIAN-CVE-2025-27220
- ruby2.7 Ubuntu 20.04 LTS 2.7.0-5ubuntu1.18
- ruby3.0 Ubuntu 22.04 LTS 3.0.2-7ubuntu2.10
- ruby3.2 Ubuntu 24.04 LTS 3.2.3-1ubuntu0.24.04.5
- ruby3.3 Ubuntu 25.10 3.3.7-1ubuntu2
- ruby2.3 Ubuntu Pro 16.04 LTS 2.3.1-2~ubuntu16.04.16+esm10
- ruby2.5 Ubuntu Pro 18.04 LTS 2.5.1-1ubuntu1.16+esm4
ubuntu advisories UBUNTU-CVE-2025-27220
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
- ruby RHEL 9 3.1.7-146.module+el9.5.0+23003+a4c328ce
- rubygems RHEL 9 3.3.27-146.module+el9.5.0+23003+a4c328ce
- ruby-libs RHEL 9 3.1.7-146.module+el9.5.0+23003+a4c328ce
- rubygem-pg RHEL 9 1.3.5-1.module+el9.1.0+15737+76195479
- rubygem-irb RHEL 9 1.4.1-146.module+el9.5.0+23003+a4c328ce
- rubygem-rbs RHEL 9 2.7.0-146.module+el9.5.0+23003+a4c328ce
- rubygem-rss RHEL 9 0.3.1-146.module+el9.5.0+23003+a4c328ce
- rubygem-json RHEL 9 2.6.1-146.module+el9.5.0+23003+a4c328ce
red hat advisories RHSA-2025:4488RHSA-2025:4487RHSA-2025:4063
- ruby2.5 SLE Module for Basesystem 15 SP7 2.5.9-150700.24.3.1
- ruby2.5 SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES for SAP 15 SP3 +13 more 2.5.9-150000.4.41.1
suse advisories SUSE-SU-2025:4264-1SUSE-SU-2025:1369-1
- rubygem-pg AlmaLinux 9 1.3.5-1.module_el9.1.0+8+503f6fbd
- rubygem-mysql2 AlmaLinux 9 0.5.4-1.module_el9.1.0+8+503f6fbd
- ruby AlmaLinux 8 3.1.7-145.module_el8.10.0+3984+cf55e3df
- rubygems AlmaLinux 8 3.3.27-145.module_el8.10.0+3984+cf55e3df
- ruby-libs AlmaLinux 8 3.1.7-145.module_el8.10.0+3984+cf55e3df
- rubygem-pg AlmaLinux 8 1.3.2-1.module_el8.10.0+3854+02eaa59a
- rubygem-pg AlmaLinux 8 1.3.2-1.module_el8.9.0+3746+91b8233a
- rubygem-irb AlmaLinux 8 1.4.1-145.module_el8.10.0+3984+cf55e3df
almalinux advisories ALSA-2025:4488ALSA-2025:4063
- ruby Rocky Linux 9 3.1.7-146.module+el9.5.0+31847+8b291b93
- rubygem-pg Rocky Linux 9 1.3.5-1.module+el9.5.0+31847+8b291b93
- rubygem-mysql2 Rocky Linux 9 0.5.4-1.module+el9.5.0+31847+8b291b93
- ruby Rocky Linux 9 3.0.7-165.el9_5
- ruby Rocky Linux 8 3.1.7-145.module+el8.10.0+1957+16e0d1a2
- rubygem-pg Rocky Linux 8 1.3.2-1.module+el8.10.0+1741+bdb5b6ca
- rubygem-pg Rocky Linux 8 1.3.2-1.module+el8.10.0+1826+b62220b4
- rubygem-abrt Rocky Linux 8 0.4.0-1.module+el8.10.0+1827+16ecb9d2
rocky linux advisories RLSA-2025:4488RLSA-2025:4487RLSA-2025:4063
- ruby CBL-Mariner 2.0 3.1.4-9
- ruby Azure Linux 3.0 3.3.5-3
azure linux advisories AZL-57791AZL-57938
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- github.com/ruby/cgi#52 pull request
- github.com/ruby/cgi#53 pull request
- github.com/ruby/cgi#54 pull request
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-2025-27220 updated cvss 5.3
CGI: ReDoS in CGI::Util#escapeElement
-
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 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 ruby, ruby-irb, rubygems, ruby-libs, rubygem-pg, rubygem-irb, +25 more Red Hat Enterprise Linux 9 ruby, rubygems, ruby-libs, rubygem-irb, rubygem-rbs, rubygem-rss, +13 moreaffected: workaround, no fix planned “Will not fix”
-
Red Hat CodeReady Linux Builder (v. 9) ruby-doc 3.0.7-165.el9_5fixed: vendor fix RHSA-2025:4487
-
Red Hat Enterprise Linux AppStream (v. 8) ruby 3.1.7-145.module+el8.10.0+23011+f9d508f8, rubygem-pg 1.3.2-1.module+el8.10.0+21470+43ec8058, ruby-libs 3.1.7-145.module+el8.10.0+23011+f9d508f8, rubygems 3.3.27-145.module+el8.10.0+23011+f9d508f8, rubygem-abrt 0.4.0-1.module+el8.10.0+21470+43ec8058, rubygem-irb 1.4.1-145.module+el8.10.0+23011+f9d508f8, +17 morefixed: vendor fix RHSA-2025:4063
-
Red Hat Enterprise Linux AppStream (v. 9) ruby 3.0.7-165.el9_5, ruby-libs 3.0.7-165.el9_5, rubygems 3.2.33-165.el9_5, rubygem-irb 1.3.5-165.el9_5, rubygem-rbs 1.4.0-165.el9_5, rubygem-rss 0.2.9-165.el9_5, +35 morefixed: vendor fix RHSA-2025:4487
-
Red Hat Enterprise Linux 8 ruby, ruby-irb, rubygems, ruby-libs, rubygem-pg, rubygem-irb, +25 morenot affected: component not present
-
Red Hat Enterprise Linux 10 rubynot 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
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 20 mo ago
Exploit prediction
0.76% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:L |
| GitHub | 3.1 | 4.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:N/A:L |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | cgi | <0.3.5.1 >=0.3.6, <0.3.7 >=0.4.0, <0.4.2 |
0.3.5.1 0.3.7 0.4.2 |
Affected products
- ruby-lang CGI
Classification
- Weakness
-
- CWE-1333 Inefficient Regular Expression Complexity
References
-
github.com
/ruby/cgi/pull/52
web
-
github.com
/ruby/cgi/pull/53
web
-
github.com
/ruby/cgi/pull/54
web
-
hackerone.com
/reports/2890322
web, permissions-required
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/cgi/CVE-2025-27220.yml
web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2025/03/msg00008.html
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-27220
advisory
-
github.com
/ruby/cgi
package
-
cve.org
/CVERecord?id=CVE-2025-27220
web
-
ruby-lang.org
/en/news/2025/02/26/security-advisories
web
Sources
- CVE List CVE-2025-27220
- GitHub Advisory GHSA-mhwm-jh88-3gjf
- NVD CVE-2025-27220
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: Added CPE configurations because not yet analyzed by NVD.