Search for vulnerabilities
Vulnerability details: VCID-b2ap-r3uw-hbea
Vulnerability ID VCID-b2ap-r3uw-hbea
Aliases CVE-2021-41098
GHSA-2rr5-8q37-2w7h
Summary Improper Restriction of XML External Entity Reference (XXE) in Nokogiri on JRuby ### Severity The Nokogiri maintainers have evaluated this as [**High Severity** 7.5 (CVSS3.0)](https://www.first.org/cvss/calculator/3.0#CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N/E:H/RL:O/RC:C/MAV:N/MAC:L) for JRuby users. (This security advisory does not apply to CRuby users.) ### Impact In Nokogiri v1.12.4 and earlier, **on JRuby only**, the SAX parser resolves external entities by default. Users of Nokogiri on JRuby who parse untrusted documents using any of these classes are affected: - Nokogiri::XML::SAX::Parser - Nokogiri::HTML4::SAX::Parser or its alias Nokogiri::HTML::SAX::Parser - Nokogiri::XML::SAX::PushParser - Nokogiri::HTML4::SAX::PushParser or its alias Nokogiri::HTML::SAX::PushParser ### Mitigation JRuby users should upgrade to Nokogiri v1.12.5 or later. There are no workarounds available for v1.12.4 or earlier. CRuby users are not affected.
Status Published
Exploitability 0.5
Weighted Severity 8.0
Risk 4.0
Affected and Fixed Packages Package Details
Weaknesses (3)
System Score Found at
cvssv3 7.5 https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2021-41098.json
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
epss 0.00737 https://api.first.org/data/v1/epss?cve=CVE-2021-41098
cvssv3.1_qr HIGH https://github.com/advisories/GHSA-2rr5-8q37-2w7h
cvssv3.1 7.5 https://github.com/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/CVE-2021-41098.yml
generic_textual HIGH https://github.com/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/CVE-2021-41098.yml
cvssv3.1 7.5 https://github.com/sparklemotion/nokogiri
generic_textual HIGH https://github.com/sparklemotion/nokogiri
cvssv3.1 7.5 https://github.com/sparklemotion/nokogiri/commit/5bf729ff3cc84709ee3c3248c981584088bf9f6d
generic_textual HIGH https://github.com/sparklemotion/nokogiri/commit/5bf729ff3cc84709ee3c3248c981584088bf9f6d
cvssv3 7.5 https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-2rr5-8q37-2w7h
cvssv3.1 7.5 https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-2rr5-8q37-2w7h
cvssv3.1_qr HIGH https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-2rr5-8q37-2w7h
generic_textual HIGH https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-2rr5-8q37-2w7h
cvssv2 5.0 https://nvd.nist.gov/vuln/detail/CVE-2021-41098
cvssv3.1 7.5 https://nvd.nist.gov/vuln/detail/CVE-2021-41098
cvssv3.1 7.5 https://nvd.nist.gov/vuln/detail/CVE-2021-41098
generic_textual HIGH https://nvd.nist.gov/vuln/detail/CVE-2021-41098
archlinux High https://security.archlinux.org/AVG-2424
No exploits are available.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2021-41098.json
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://github.com/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/CVE-2021-41098.yml
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://github.com/sparklemotion/nokogiri
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://github.com/sparklemotion/nokogiri/commit/5bf729ff3cc84709ee3c3248c981584088bf9f6d
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-2rr5-8q37-2w7h
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Vector: AV:N/AC:L/Au:N/C:P/I:N/A:N Found at https://nvd.nist.gov/vuln/detail/CVE-2021-41098
Exploitability (E) Access Vector (AV) Access Complexity (AC) Authentication (Au) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

high

functional

unproven

proof_of_concept

not_defined

local

adjacent_network

network

high

medium

low

multiple

single

none

none

partial

complete

none

partial

complete

none

partial

complete

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://nvd.nist.gov/vuln/detail/CVE-2021-41098
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Found at https://nvd.nist.gov/vuln/detail/CVE-2021-41098
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

Exploit Prediction Scoring System (EPSS)
Percentile 0.71898
EPSS Score 0.00737
Published At July 30, 2025, 12:55 p.m.
Date Actor Action Source VulnerableCode Version
2025-07-31T08:04:56.287764+00:00 Ruby Importer Import https://github.com/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/CVE-2021-41098.yml 37.0.0