CVE-2020-26247 json
XXE in Nokogiri
published 2020-12-30 5 y ago modified 2026-07-08 4 mo ago also GHSA-vr8q-g5c7-m54m , EUVD-2020-1507
- cvss
- 2.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 67%
- public exploits
- 0
- none known
Summary
Nokogiri is a Rubygem providing HTML, XML, SAX, and Reader parsers with XPath and CSS selector support. In Nokogiri before version 1.11.0.rc4 there is an XXE vulnerability. XML Schemas parsed by Nokogiri::XML::Schema are trusted by default, allowing external resources to be accessed over the network, potentially enabling XXE or SSRF attacks. This behavior is counter to the security policy followed by Nokogiri maintainers, which is to treat all input as untrusted by default whenever possible. This is fixed in Nokogiri version 1.11.0.rc4.
Patch / fix
- rubygems nokogiri 1.11.0
- nokogiri nokogiri 1.11.0
- ruby-nokogiri Debian 14, Debian 13, Debian 12 1.11.1+dfsg-1
debian advisories DEBIAN-CVE-2020-26247
- ruby-nokogiri Ubuntu Pro 20.04 LTS 1.10.7+dfsg1-2ubuntu0.1~esm2
ubuntu advisories UBUNTU-CVE-2020-26247
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
- foreman satellite capsule 6.10, satellite 6.10 2.5.2.17-2.el7sat
- candlepin satellite 6.10 4.0.9-1.el7sat
- satellite satellite capsule 6.10, satellite 6.10 6.10.0-3.el7sat
- python-ecdsa satellite capsule 6.10, satellite 6.10 0.13.3-2.el7pc
- python-pyyaml satellite capsule 6.10, satellite 6.10 5.4.1-1.el7pc
- python3-ecdsa satellite capsule 6.10, satellite 6.10 0.13.3-2.el7pc
- python-aiohttp satellite capsule 6.10, satellite 6.10 3.7.4-1.el7pc
- python-urllib3 satellite capsule 6.10, satellite 6.10 1.26.5-1.el7pc
red hat advisories RHSA-2021:4702
- kibana OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 4.6.6-3.9.2
- grafana OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 6.7.4-4.18.2
- cassandra OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 3.11.10-5.3.5
- python-py OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.4.34-3.3.3
- crowbar-core OpenStack Cloud Crowbar 8 5.0+git.1622489449.a8e60e238-3.50.4
- python-Django OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.11.29-3.25.3
- ardana-cobbler OpenStack Cloud 8, HPE Helion OpenStack 8 8.0+git.1614096566.e8c2b27-3.44.3
- openstack-nova OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 16.1.9~dev92-3.48.5
suse advisories SUSE-SU-2021:2554-1SUSE-SU-2021:0251-1SUSE-SU-2021:0210-1
- rubygem-nokogiri openSUSE Leap 15.2 1.8.5-lp152.4.3.1
opensuse advisories openSUSE-SU-2021:0237-1
- ruby-nokogiri Alpine 3.24, Alpine 3.23, Alpine 3.22 +8 more 1.11.6-r0
alpine advisories ALPINE-CVE-2020-26247
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-2020-26247 updated cvss 4.3
rubygem-nokogiri: XML external entity injection via Nokogiri::XML::Schema
-
Red Hat CloudForms Management Engine 5 rubygem-nokogiri Red Hat Satellite 6 tfm-ror52-rubygem-nokogiriaffected: workaround, no fix planned “There are no known workarounds for affected versions. Please refer to the upstream advisory page for additional information.”
-
Red Hat 3Scale AMP 2.11 3scale-amp2/zync-rhel8 1.14.1-3, 3scale-amp2/toolbox-rhel8 1.7.1-5, 3scale-amp2/backend-rhel8 1.14.1-3, 3scale-amp2/system-rhel7 1.15.1-13, 3scale-amp2/memcached-rhel7 1.4.16-42, 3scale-amp2/apicast-gateway-rhel8 1.20.1-4, +4 morefixed: vendor fix “There are no known workarounds for affected versions. Please refer to the upstream advisory page for additional information.” RHSA-2021:5191
-
Red Hat Satellite 6.10 tfm-rubygem-nokogiri 1.11.3-2.el7sat Red Hat Satellite Capsule 6.10 tfm-rubygem-nokogiri 1.11.3-2.el7satfixed: vendor fix “There are no known workarounds for affected versions. Please refer to the upstream advisory page for additional information.” RHSA-2021:4702
-
Red Hat Satellite 6.10 tfm 7.0-1.el7sat, gofer 2.12.5-7.el7sat, katello 4.1.1-2.el7sat, libsolv 0.7.20-1.el7pc, receptor 0.6.4-2.el7ar, libcomps 0.1.15-1.el7pc, +581 more Red Hat Satellite Capsule 6.10 tfm 7.0-1.el7sat, katello 4.1.1-2.el7sat, libsolv 0.7.20-1.el7pc, libcomps 0.1.15-1.el7pc, python-rq 1.8.1-1.el7pc, python-idna 2.10-1.el7pc, +354 morenot 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
Exploit prediction
1.18% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 2.6 | CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N |
| NVD | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| NVD | 2.0 | 4.0 | AV:N/AC:L/Au:S/C:P/I:N/A:N |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | nokogiri | <1.11.0 |
1.11.0 |
Affected products
- sparklemotion nokogiri
Classification
- Weakness
-
- CWE-611 Improper Restriction of XML External Entity Reference
References
-
github.com
/sparklemotion/nokogiri/commit/9c87439d9afa14a365ff13e73adc809cb2c3d97b
web, patch, third-party-advisory
-
security.gentoo.org
/glsa/202208-29
vendor-advisory, web, third-party-advisory
-
github.com
/sparklemotion/nokogiri/security/advisories/GHSA-vr8q-g5c7-m54m
web, mitigation, third-party-advisory
-
rubygems.org
/gems/nokogiri
web, product, third-party-advisory
-
hackerone.com
/reports/747489
web, permissions-required
-
github.com
/sparklemotion/nokogiri/releases/tag/v1.11.0.rc4
web, release-notes, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2021/06/msg00007.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2022/10/msg00018.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-26247
advisory
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/CVE-2020-26247.yml
web
-
github.com
/sparklemotion/nokogiri
package
-
github.com
/sparklemotion/nokogiri/blob/main/CHANGELOG.md#v1110--2021-01-03
web
Sources
- CVE List CVE-2020-26247
- GitHub Advisory GHSA-vr8q-g5c7-m54m
- NVD CVE-2020-26247
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.