CVE-2023-28755 json
Ruby URI component ReDoS issue
published 2023-03-31 3 y ago modified 2026-09-10 1 mo ago also GHSA-hv5j-3h9f-99c2 , EUVD-2023-1038
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.6%
- EPSS 2.6% chance of exploitation in 30 days, percentile 85%
- public exploits
- 0
- none known
Summary
A ReDoS issue was discovered in the URI component through 0.12.0 in Ruby through 3.2.1. The URI parser mishandles invalid URLs that have specific characters. It causes an increase in execution time for parsing strings to URI objects. The fixed versions are 0.12.1, 0.11.1, 0.10.2 and 0.10.0.1.
Patch / fix
- rubygems uri 0.10.0.1, 0.10.2, 0.11.1, 0.12.1
- jruby Debian 14, Debian 13 9.4.5.0+ds-1
- rubygems Debian 12 3.3.15-2+deb12u1
- rubygems Debian 14, Debian 13 3.4.20-1
debian advisories DEBIAN-CVE-2023-28755
- ruby2.5 Ubuntu 18.04 LTS 2.5.1-1ubuntu1.16
- ruby2.7 Ubuntu 20.04 LTS 2.7.0-5ubuntu1.11
- ruby3.0 Ubuntu 22.04 LTS 3.0.2-7ubuntu2.4
- rubygems Ubuntu 22.04 LTS 3.3.5-2ubuntu1.1
- ruby2.3 Ubuntu Pro 16.04 LTS 2.3.1-2~ubuntu16.04.16+esm7
ubuntu advisories UBUNTU-CVE-2023-28755
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.4-143.module+el9.3.0+21558+96b51efd
- rubygems RHEL 9 3.3.26-143.module+el9.3.0+21558+96b51efd
- ruby-libs RHEL 9 3.1.4-143.module+el9.3.0+21558+96b51efd
- rubygem-pg RHEL 9 1.3.5-1.module+el9.1.0+15737+76195479
- rubygem-irb RHEL 9 1.4.1-143.module+el9.3.0+21558+96b51efd
- rubygem-rbs RHEL 9 2.7.0-143.module+el9.3.0+21558+96b51efd
- rubygem-rss RHEL 9 0.2.9-143.module+el9.3.0+21558+96b51efd
- rubygem-json RHEL 9 2.6.1-143.module+el9.3.0+21558+96b51efd
red hat advisories RHSA-2024:1576RHSA-2024:1431RHSA-2023:7025RHSA-2024:3838RHSA-2024:3500RHSA-2023:3821
- ruby2.5 SLES for SAP 15 SP3, SLES for SAP 15 SP2, SLES for SAP 15 SP1 +14 more 2.5.9-150000.4.29.1
suse advisories SUSE-SU-2023:4176-1
- ruby4.0 openSUSE Tumbleweed 4.0.0~preview2-1.1
- ruby3.4 openSUSE Tumbleweed 3.4.1-1.1
- ruby3.2 openSUSE Tumbleweed 3.2.2-1.1
- ruby3.1 openSUSE Tumbleweed 3.1.4-1.1
- ruby3.3 openSUSE Tumbleweed 3.3.0-1.2
opensuse advisories openSUSE-SU-2025:15819-1openSUSE-SU-2025:14621-1openSUSE-SU-2024:12828-1openSUSE-SU-2024:12849-1openSUSE-SU-2024:13623-1
- ruby AlmaLinux 8 2.5.9-112.module_el8.10.0+3871+342e2c2f
- ruby-irb AlmaLinux 8 2.5.9-112.module_el8.10.0+3871+342e2c2f
- rubygems AlmaLinux 8 2.7.6.3-112.module_el8.10.0+3871+342e2c2f
- ruby-libs AlmaLinux 8 2.5.9-112.module_el8.10.0+3871+342e2c2f
- rubygem-pg AlmaLinux 8 1.0.0-3.module_el8.9.0+3635+c6f99506
- rubygem-abrt AlmaLinux 8 0.3.0-4.module_el8.10.0+3871+342e2c2f
- rubygem-bson AlmaLinux 8 4.3.0-2.module_el8.5.0+2625+ec418553
- rubygem-bson AlmaLinux 8 4.3.0-2.module_el8.6.0+3170+4b08f9d4
almalinux advisories ALSA-2024:4499ALSA-2024:3838ALSA-2024:3500ALSA-2024:1576ALSA-2024:1431ALSA-2023:7025
- ruby Rocky Linux 8 2.5.9-111.module+el8.9.0+1536+5f79634e
- rubygem-pg Rocky Linux 8 1.0.0-3.module+el8.9.0+1536+5f79634e
- rubygem-abrt Rocky Linux 8 0.3.0-4.module+el8.9.0+1536+5f79634e
- rubygem-abrt Rocky Linux 8 0.3.0-4.module+el8.5.0+738+032c9c02
- rubygem-bson Rocky Linux 8 4.3.0-2.module+el8.9.0+1536+5f79634e
- rubygem-mongo Rocky Linux 8 2.5.1-2.module+el8.9.0+1536+5f79634e
- rubygem-mysql2 Rocky Linux 8 0.4.10-4.module+el8.9.0+1536+5f79634e
- rubygem-bundler Rocky Linux 8 1.16.1-4.module+el8.9.0+1536+5f79634e
rocky linux advisories RLSA-2023:7025RLSA-2024:1576RLSA-2024:1431RLSA-2023:3821
- ruby Alpine 3.14 2.7.8-r0
- ruby Alpine 3.15 3.0.6-r0
- ruby Alpine 3.24, Alpine 3.23, Alpine 3.22 +6 more 3.1.4-r0
alpine advisories ALPINE-CVE-2023-28755
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-2023-28755 updated cvss 5.3
ruby: ReDoS vulnerability in URI
-
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: 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 Software Collections rh-ruby30-ruby, rh-ruby30-rubygems, rh-ruby30-ruby-libs, rh-ruby30-rubygem-irb, rh-ruby30-rubygem-rbs, rh-ruby30-rubygem-rss, +12 moreaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux AppStream (v. 8) ruby 2.5.9-111.module+el8.9.0+19193+435404ae, ruby 2.7.8-139.module+el8.8.0+18745+f1bef313, ruby 3.1.4-142.module+el8.9.0+21471+7d1e4a35, ruby 3.0.7-143.module+el8.10.0+21858+d19f3934, rubygem-pg 1.2.3-1.module+el8.3.0+7192+4e3a532a, ruby-irb 2.5.9-111.module+el8.9.0+19193+435404ae, +85 morefixed: vendor fix RHSA-2024:3500
-
Red Hat Enterprise Linux AppStream (v. 9) ruby 3.0.7-162.el9_4, ruby-libs 3.0.7-162.el9_4, rubygems 3.2.33-162.el9_4, rubygem-irb 1.3.5-162.el9_4, rubygem-rbs 1.4.0-162.el9_4, rubygem-rss 0.2.9-162.el9_4, +35 morefixed: vendor fix RHSA-2024:1576
-
Red Hat Enterprise Linux CRB (v. 9) ruby-doc 3.0.7-162.el9_4fixed: vendor fix RHSA-2024:3838
-
Red Hat Software Collections for RHEL Workstation(v. 7) rh-ruby27-ruby 2.7.8-132.el7, rh-ruby27-rubygems 3.1.6-132.el7, rh-ruby27-ruby-libs 2.7.8-132.el7, rh-ruby27-rubygem-irb 1.2.6-132.el7, rh-ruby27-rubygem-json 2.3.0-132.el7, rh-ruby27-rubygem-psych 3.1.0-132.el7, +13 more Red Hat Software Collections for RHEL(v. 7) rh-ruby27-ruby 2.7.8-132.el7, rh-ruby27-rubygems 3.1.6-132.el7, rh-ruby27-ruby-libs 2.7.8-132.el7, rh-ruby27-rubygem-irb 1.2.6-132.el7, rh-ruby27-rubygem-json 2.3.0-132.el7, rh-ruby27-rubygem-psych 3.1.0-132.el7, +13 morefixed: vendor fix RHSA-2023:3291
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
- yes
- Technical impact
- partial
- Assessed
- 20 mo ago
Exploit prediction
2.64% chance of exploitation in the next 30 days, higher than 85% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 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 | uri | >=0.12.0, <0.12.1 >=0.11.0, <0.11.1 >=0.10.1, <0.10.2 <0.10.0.1 |
0.12.1 0.11.1 0.10.2 0.10.0.1 |
Classification
- Weakness
-
- CWE-1333 Inefficient Regular Expression Complexity
References
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/FFZANOQA4RYX7XCB42OO3P24DQKWHEKA/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/WMIOPLBAAM3FEQNAXA2L7BDKOGSVUT5Z/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/G76GZG3RAGYF4P75YY7J7TGYAU7Z5E2T/
vendor-advisory
-
security.gentoo.org
/glsa/202401-27
vendor-advisory, web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/QA6XUKUY7B5OLNQBLHOT43UW7C5NIOQQ/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/27LUWREIFTP3MQAW7QE4PJM4DPAQJWXF/
vendor-advisory
-
ruby-lang.org
/en/news/2023/03/28/redos-in-uri-cve-2023-28755/
vendor-advisory
-
ruby-lang.org
/en/news/2022/12/25/ruby-3-2-0-released/
release-notes
-
ruby-lang.org
/en/downloads/releases/
release-notes
-
github.com
/ruby/uri/releases/
release-notes
-
lists.debian.org
/debian-lts-announce/2023/04/msg00033.html
mailing-list, web, third-party-advisory
-
security.netapp.com
/advisory/ntap-20230526-0003/
third-party-advisory
-
lists.debian.org
/debian-lts-announce/2025/05/msg00015.html
web
-
lists.debian.org
/debian-lts-announce/2024/09/msg00000.html
web
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/27LUWREIFTP3MQAW7QE4PJM4DPAQJWXF/
-
nvd.nist.gov
/vuln/detail/CVE-2023-28755
advisory
-
ruby-lang.org
/en/news/2023/03/28/redos-in-uri-cve-2023-28755
web
-
ruby-lang.org
/en/news/2022/12/25/ruby-3-2-0-released
web
-
ruby-lang.org
/en/downloads/releases
web
-
security.netapp.com
/advisory/ntap-20230526-0003
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/WMIOPLBAAM3FEQNAXA2L7BDKOGSVUT5Z
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/G76GZG3RAGYF4P75YY7J7TGYAU7Z5E2T
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/FFZANOQA4RYX7XCB42OO3P24DQKWHEKA
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/27LUWREIFTP3MQAW7QE4PJM4DPAQJWXF
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/WMIOPLBAAM3FEQNAXA2L7BDKOGSVUT5Z
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/QA6XUKUY7B5OLNQBLHOT43UW7C5NIOQQ
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/G76GZG3RAGYF4P75YY7J7TGYAU7Z5E2T
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/FFZANOQA4RYX7XCB42OO3P24DQKWHEKA
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/27LUWREIFTP3MQAW7QE4PJM4DPAQJWXF
web
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/uri/CVE-2023-28755.yml
web
-
github.com
/ruby/uri/releases
web
-
github.com
/ruby/uri
package
Sources
- CVE List CVE-2023-28755
- GitHub Advisory GHSA-hv5j-3h9f-99c2
- NVD CVE-2023-28755
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.