gsd-2021-41819
Vulnerability from gsd
Modified
2021-11-24 00:00
Details
The old versions of `CGI::Cookie.parse` applied URL decoding to cookie names.
An attacker could exploit this vulnerability to spoof security prefixes in
cookie names, which may be able to trick a vulnerable application.
By this fix, `CGI::Cookie.parse` no longer decodes cookie names. Note that
this is an incompatibility if cookie names that you are using include
non-alphanumeric characters that are URL-encoded.
This is the same issue of CVE-2020-8184.
If you are using Ruby 2.7 or 3.0:
* Please update the cgi gem to version 0.3.1, 0.2,1, and 0.1,1 or later. You
can use `gem update cgi` to update it. If you are using bundler, please add
`gem "cgi", ">= 0.3.1"`` to your `Gemfile`.
* Alternatively, please update Ruby to 2.7.5 or 3.0.3.
If you are using Ruby 2.6:
* Please update Ruby to 2.6.9. You cannot use `gem update cgi` for Ruby 2.6 or
prior.
Aliases
Aliases
{
"GSD": {
"alias": "CVE-2021-41819",
"description": "CGI::Cookie.parse in Ruby through 2.6.8 mishandles security prefixes in cookie names. This also affects the CGI gem through 0.3.0 for Ruby.",
"id": "GSD-2021-41819",
"references": [
"https://www.suse.com/security/cve/CVE-2021-41819.html",
"https://www.debian.org/security/2022/dsa-5066",
"https://www.debian.org/security/2022/dsa-5067",
"https://access.redhat.com/errata/RHSA-2022:0708",
"https://access.redhat.com/errata/RHSA-2022:0582",
"https://access.redhat.com/errata/RHSA-2022:0581",
"https://access.redhat.com/errata/RHSA-2022:0544",
"https://access.redhat.com/errata/RHSA-2022:0543",
"https://ubuntu.com/security/CVE-2021-41819",
"https://advisories.mageia.org/CVE-2021-41819.html",
"https://security.archlinux.org/CVE-2021-41819",
"https://linux.oracle.com/cve/CVE-2021-41819.html",
"https://access.redhat.com/errata/RHSA-2022:5779",
"https://access.redhat.com/errata/RHSA-2022:6447",
"https://access.redhat.com/errata/RHSA-2022:6450",
"https://access.redhat.com/errata/RHSA-2022:6855",
"https://access.redhat.com/errata/RHSA-2022:6856"
]
},
"gsd": {
"metadata": {
"exploitCode": "unknown",
"remediation": "unknown",
"reportConfidence": "confirmed",
"type": "vulnerability"
},
"osvSchema": {
"affected": [
{
"package": {
"ecosystem": "RubyGems",
"name": "cgi",
"purl": "pkg:gem/cgi"
}
}
],
"aliases": [
"CVE-2021-41819",
"GHSA-4vf4-qmvg-mh7h"
],
"details": "The old versions of `CGI::Cookie.parse` applied URL decoding to cookie names.\nAn attacker could exploit this vulnerability to spoof security prefixes in\ncookie names, which may be able to trick a vulnerable application.\n\nBy this fix, `CGI::Cookie.parse` no longer decodes cookie names. Note that\nthis is an incompatibility if cookie names that you are using include\nnon-alphanumeric characters that are URL-encoded.\n\nThis is the same issue of CVE-2020-8184.\n\nIf you are using Ruby 2.7 or 3.0:\n\n* Please update the cgi gem to version 0.3.1, 0.2,1, and 0.1,1 or later. You\n can use `gem update cgi` to update it. If you are using bundler, please add\n `gem \"cgi\", \"\u003e= 0.3.1\"`` to your `Gemfile`.\n* Alternatively, please update Ruby to 2.7.5 or 3.0.3.\n\nIf you are using Ruby 2.6:\n\n* Please update Ruby to 2.6.9. You cannot use `gem update cgi` for Ruby 2.6 or\n prior.",
"id": "GSD-2021-41819",
"modified": "2021-11-24T00:00:00.000Z",
"published": "2021-11-24T00:00:00.000Z",
"references": [
{
"type": "WEB",
"url": "https://www.ruby-lang.org/en/news/2021/11/24/cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819/"
}
],
"related": [
"CVE-2020-8184"
],
"schema_version": "1.4.0",
"severity": [
{
"score": 7.5,
"type": "CVSS_V3"
}
],
"summary": "Cookie Prefix Spoofing in CGI::Cookie.parse"
}
},
"namespaces": {
"cve.org": {
"CVE_data_meta": {
"ASSIGNER": "cve@mitre.org",
"ID": "CVE-2021-41819",
"STATE": "PUBLIC"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "n/a",
"version": {
"version_data": [
{
"version_value": "n/a"
}
]
}
}
]
},
"vendor_name": "n/a"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "CGI::Cookie.parse in Ruby through 2.6.8 mishandles security prefixes in cookie names. This also affects the CGI gem through 0.3.0 for Ruby."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "n/a"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://hackerone.com/reports/910552",
"refsource": "MISC",
"url": "https://hackerone.com/reports/910552"
},
{
"name": "https://www.ruby-lang.org/en/news/2021/11/24/cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819/",
"refsource": "CONFIRM",
"url": "https://www.ruby-lang.org/en/news/2021/11/24/cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819/"
},
{
"name": "https://security.netapp.com/advisory/ntap-20220121-0003/",
"refsource": "CONFIRM",
"url": "https://security.netapp.com/advisory/ntap-20220121-0003/"
},
{
"name": "FEDORA-2022-82a9edac27",
"refsource": "FEDORA",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IUXQCH6FRKANCVZO2Q7D2SQX33FP3KWN/"
},
{
"name": "FEDORA-2022-8cf0124add",
"refsource": "FEDORA",
"url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UTOJGS5IEFDK3UOO7IY4OTTFGHGLSWZF/"
},
{
"name": "GLSA-202401-27",
"refsource": "GENTOO",
"url": "https://security.gentoo.org/glsa/202401-27"
}
]
}
},
"github.com/rubysec/ruby-advisory-db": {
"cve": "2021-41819",
"cvss_v3": 7.5,
"date": "2021-11-24",
"description": "The old versions of `CGI::Cookie.parse` applied URL decoding to cookie names.\nAn attacker could exploit this vulnerability to spoof security prefixes in\ncookie names, which may be able to trick a vulnerable application.\n\nBy this fix, `CGI::Cookie.parse` no longer decodes cookie names. Note that\nthis is an incompatibility if cookie names that you are using include\nnon-alphanumeric characters that are URL-encoded.\n\nThis is the same issue of CVE-2020-8184.\n\nIf you are using Ruby 2.7 or 3.0:\n\n* Please update the cgi gem to version 0.3.1, 0.2,1, and 0.1,1 or later. You\n can use `gem update cgi` to update it. If you are using bundler, please add\n `gem \"cgi\", \"\u003e= 0.3.1\"`` to your `Gemfile`.\n* Alternatively, please update Ruby to 2.7.5 or 3.0.3.\n\nIf you are using Ruby 2.6:\n\n* Please update Ruby to 2.6.9. You cannot use `gem update cgi` for Ruby 2.6 or\n prior.",
"gem": "cgi",
"ghsa": "4vf4-qmvg-mh7h",
"patched_versions": [
"~\u003e 0.1.0.1",
"~\u003e 0.1.1",
"~\u003e 0.2.1",
"\u003e= 0.3.1"
],
"related": {
"cve": [
"2020-8184"
]
},
"title": "Cookie Prefix Spoofing in CGI::Cookie.parse",
"url": "https://www.ruby-lang.org/en/news/2021/11/24/cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819/"
},
"gitlab.com": {
"advisories": [
{
"affected_range": "\u003e=0.1.0 \u003c=0.3.0",
"affected_versions": "All versions starting from 0.1.0 up to 0.3.0",
"cvss_v2": "AV:N/AC:L/Au:N/C:N/I:P/A:N",
"cvss_v3": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N",
"cwe_ids": [
"CWE-1035",
"CWE-565",
"CWE-937"
],
"date": "2022-09-10",
"description": "CGI::Cookie.parse in Ruby mishandles security prefixes in cookie names. This also affects the CGI gem for Ruby.",
"fixed_versions": [
"0.3.1"
],
"identifier": "CVE-2021-41819",
"identifiers": [
"CVE-2021-41819"
],
"not_impacted": "All versions before 0.1.0, all versions after 0.3.0",
"package_slug": "gem/cgi",
"pubdate": "2022-01-01",
"solution": "Upgrade to version 0.3.1 or above.",
"title": "Reliance on Cookies without Validation and Integrity Checking in a Security Decision",
"urls": [
"https://nvd.nist.gov/vuln/detail/CVE-2021-41819",
"https://hackerone.com/reports/910552",
"https://www.ruby-lang.org/en/news/2021/11/24/cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819/"
],
"uuid": "884c99ae-8baa-4a77-94fe-f0434735f233"
}
]
},
"nvd.nist.gov": {
"cve": {
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:ruby-lang:cgi:0.1.0:*:*:*:*:ruby:*:*",
"matchCriteriaId": "2DEC113F-FF5D-48DC-896B-E1C8A2C76C9C",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:ruby-lang:cgi:0.2.0:*:*:*:*:ruby:*:*",
"matchCriteriaId": "59B7F28D-757D-429F-88B5-7A8DAFB9BB4C",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:ruby-lang:cgi:0.3.0:*:*:*:*:ruby:*:*",
"matchCriteriaId": "C8CB09D2-66DD-4E05-B9FC-F1C632C6942F",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:*",
"matchCriteriaId": "64AC442C-39CB-477C-9356-F36AF6762E53",
"versionEndIncluding": "2.6.8",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:*",
"matchCriteriaId": "D7B53365-0B48-4408-A4A7-9A3744F89F07",
"versionEndExcluding": "2.7.5",
"versionStartIncluding": "2.7.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:*",
"matchCriteriaId": "D4499575-33A0-47D7-A88B-0E6FD2340792",
"versionEndExcluding": "3.0.3",
"versionStartIncluding": "3.0.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:redhat:software_collections:-:*:*:*:*:*:*:*",
"matchCriteriaId": "749804DA-4B27-492A-9ABA-6BB562A6B3AC",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*",
"matchCriteriaId": "F4CFF558-3C47-480D-A2F0-BABF26042943",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*",
"matchCriteriaId": "DEECE5FC-CACF-4496-A3E7-164736409252",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*",
"matchCriteriaId": "07B237A9-69A3-4A9C-9DA0-4E06BD37AE73",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*",
"matchCriteriaId": "FA6FEEC2-9F11-4643-8827-749718254FED",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:suse:linux_enterprise:11.0:sp1:*:*:*:*:*:*",
"matchCriteriaId": "4500161F-13A0-4369-B93A-778B34E7F005",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:suse:linux_enterprise:12.0:*:*:*:*:*:*:*",
"matchCriteriaId": "CBC8B78D-1131-4F21-919D-8AC79A410FB9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:suse:linux_enterprise:15.0:*:*:*:*:*:*:*",
"matchCriteriaId": "1607628F-77A7-4C1F-98DF-0DC50AE8627D",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:opensuse:factory:-:*:*:*:*:*:*:*",
"matchCriteriaId": "E29492E1-43D8-43BF-94E3-26A762A66FAA",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*",
"matchCriteriaId": "B009C22E-30A4-4288-BCF6-C3E81DEAF45A",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
},
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*",
"matchCriteriaId": "A930E247-0B43-43CB-98FF-6CE7B8189835",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*",
"matchCriteriaId": "80E516C0-98A4-4ADE-B69F-66A772E2BAAA",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "CGI::Cookie.parse in Ruby through 2.6.8 mishandles security prefixes in cookie names. This also affects the CGI gem through 0.3.0 for Ruby."
},
{
"lang": "es",
"value": "CGI::Cookie.parse en Ruby versiones hasta 2.6.8, maneja inapropiadamente los prefijos de seguridad en los nombres de las cookies. Esto tambi\u00e9n afecta a CGI gem versiones hasta 0.3.0 para Ruby."
}
],
"id": "CVE-2021-41819",
"lastModified": "2024-01-24T05:15:11.853",
"metrics": {
"cvssMetricV2": [
{
"acInsufInfo": false,
"baseSeverity": "MEDIUM",
"cvssData": {
"accessComplexity": "LOW",
"accessVector": "NETWORK",
"authentication": "NONE",
"availabilityImpact": "NONE",
"baseScore": 5.0,
"confidentialityImpact": "NONE",
"integrityImpact": "PARTIAL",
"vectorString": "AV:N/AC:L/Au:N/C:N/I:P/A:N",
"version": "2.0"
},
"exploitabilityScore": 10.0,
"impactScore": 2.9,
"obtainAllPrivilege": false,
"obtainOtherPrivilege": false,
"obtainUserPrivilege": false,
"source": "nvd@nist.gov",
"type": "Primary",
"userInteractionRequired": false
}
],
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6,
"source": "nvd@nist.gov",
"type": "Primary"
}
]
},
"published": "2022-01-01T06:15:07.293",
"references": [
{
"source": "cve@mitre.org",
"tags": [
"Permissions Required",
"Third Party Advisory"
],
"url": "https://hackerone.com/reports/910552"
},
{
"source": "cve@mitre.org",
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IUXQCH6FRKANCVZO2Q7D2SQX33FP3KWN/"
},
{
"source": "cve@mitre.org",
"url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/UTOJGS5IEFDK3UOO7IY4OTTFGHGLSWZF/"
},
{
"source": "cve@mitre.org",
"url": "https://security.gentoo.org/glsa/202401-27"
},
{
"source": "cve@mitre.org",
"tags": [
"Third Party Advisory"
],
"url": "https://security.netapp.com/advisory/ntap-20220121-0003/"
},
{
"source": "cve@mitre.org",
"tags": [
"Exploit",
"Vendor Advisory"
],
"url": "https://www.ruby-lang.org/en/news/2021/11/24/cookie-prefix-spoofing-in-cgi-cookie-parse-cve-2021-41819/"
}
],
"sourceIdentifier": "cve@mitre.org",
"vulnStatus": "Modified",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-565"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…