CVE-2021-41816
ruby: buffer overflow in CGI.escape_html
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD, GHSA, Photon OS. Rated lower by Ruby Advisory DB (high), Red Hat (medium), Ubuntu (medium).
Description
CGI.escape_html in Ruby before 2.7.5 and 3.x before 3.0.3 has an integer overflow and resultant buffer overflow via a long string on platforms (such as Windows) where size_t and long have different numbers of bytes. This also affects the CGI gem before 0.3.1 for Ruby.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| Photon OS 4.0 | ruby, ruby-devel | 2.7.4-9.ph4 |
| rubygems::GitHub Security Advisory RubyGems | cgi | 0.3.1, 0.2.1, 0.1.0.1 |
| alpine 3.12 | ruby | 2.7.5-r0 |
| alpine 3.13 | ruby | 2.7.5-r0 |
| alpine 3.14 | ruby | 2.7.5-r0 |
| alpine 3.15 | ruby | 3.0.3-r0 |
| alpine 3.16 | ruby | 3.0.3-r0 |
| alpine 3.17 | ruby | 3.0.3-r0 |
| alpine 3.18 | ruby | 3.0.3-r0 |
| alpine 3.19 | ruby | 3.0.3-r0 |
| alpine 3.20 | ruby | 3.0.3-r0 |
| alpine 3.21 | ruby | 3.0.3-r0 |
Show all 24 entries from 23 sources
| Source | Package | Fixed in |
|---|---|---|
| Photon OS 4.0 | ruby | 2.7.4-9.ph4 |
| Photon OS 4.0 | ruby-devel | 2.7.4-9.ph4 |
| rubygems::GitHub Security Advisory RubyGems | cgi | 0.3.1, 0.2.1, 0.1.0.1 |
| alpine 3.12 | ruby | 2.7.5-r0 |
| alpine 3.13 | ruby | 2.7.5-r0 |
| alpine 3.14 | ruby | 2.7.5-r0 |
| alpine 3.15 | ruby | 3.0.3-r0 |
| alpine 3.16 | ruby | 3.0.3-r0 |
| alpine 3.17 | ruby | 3.0.3-r0 |
| alpine 3.18 | ruby | 3.0.3-r0 |
| alpine 3.19 | ruby | 3.0.3-r0 |
| alpine 3.20 | ruby | 3.0.3-r0 |
| alpine 3.21 | ruby | 3.0.3-r0 |
| alpine 3.22 | ruby | 3.0.3-r0 |
| alpine 3.23 | ruby | 3.0.3-r0 |
| alpine 3.24 | ruby | 3.0.3-r0 |
| alpine edge | ruby | 3.0.3-r0 |
| debian 11 | ruby2.7 | 2.7.4-1+deb11u1 |
| rubygems::Ruby Advisory Database | cgi | ~> 0.1.0.1, ~> 0.1.1, ~> 0.2.1, >= 0.3.1 |
| ubuntu 20.04 | ruby2.7 | 2.7.0-5ubuntu1.6 |
| ubuntu 20.04-ESM | ruby2.7 | 2.7.0-5ubuntu1.6 |
| ubuntu 21.04 | ruby2.7 | 2.7.2-4ubuntu1.3 |
| ubuntu 21.10 | ruby2.7 | 2.7.4-1ubuntu3.1 |
| ubuntu 22.04 | ruby3.0 | 3.0.2-7ubuntu2 |
References
- https://access.redhat.com/security/cve/CVE-2021-41816
- https://github.com/ruby/cgi
- https://github.com/ruby/cgi/commit/959ccf0b6a672bcc64aeaa60c6e1f9e728f1e87f
- https://github.com/ruby/cgi/commit/ad079c1cb5f58eba1ffac46da79995fcf94a3a6e
- https://github.com/ruby/cgi/commit/c6a37a671b556eb06140ea89cc465136b24207a6
- https://github.com/ruby/cgi/commit/c728632c1c09d46cfd4ecbff9caaa3651dd1002a
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/cgi/CVE-2021-41816.yml
- https://groups.google.com/g/ruby-security-ann/c/4MQ568ZG47c
All 22 references
- https://hackerone.com/reports/1328463
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IUXQCH6FRKANCVZO2Q7D2SQX33FP3KWN
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IUXQCH6FRKANCVZO2Q7D2SQX33FP3KWN/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UTOJGS5IEFDK3UOO7IY4OTTFGHGLSWZF
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UTOJGS5IEFDK3UOO7IY4OTTFGHGLSWZF/
- https://nvd.nist.gov/vuln/detail/CVE-2021-41816
- https://security-tracker.debian.org/tracker/CVE-2021-41816
- https://security.gentoo.org/glsa/202401-27
- https://security.netapp.com/advisory/ntap-20220303-0006
- https://security.netapp.com/advisory/ntap-20220303-0006/
- https://ubuntu.com/security/notices/USN-5235-1
- https://www.cve.org/CVERecord?id=CVE-2021-41816
- https://www.ruby-lang.org/en/news/2021/11/24/buffer-overrun-in-cgi-escape_html-cve-2021-41816
- https://www.ruby-lang.org/en/news/2021/11/24/buffer-overrun-in-cgi-escape_html-cve-2021-41816/