XXE in Nokogiri
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Partial Red Hat: 3 fixed, 2 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-611 and the CVSS impact.
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| sparklemotion | nokogiri | before 1.11.0.rc4 | 1.11.0.rc4 | Patch available | CNA |
| — | nokogiri (RubyGems) | before 1.11.0 | 1.11.0 | Patch available | GHSA-vr8q-g5c7-m54m |
- nokogiri Vendorsparklemotion Affected before 1.11.0.rc4 Fixed in 1.11.0.rc4 Patch available CNA
- nokogiri (RubyGems) Vendor— Affected before 1.11.0 Fixed in 1.11.0 Patch available GHSA-vr8q-g5c7-m54m
CPE configurations NVD · 6
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:nokogiri:nokogiri:*:*:*:*:*:ruby:*:* | before 1.11.0 | Vulnerable | sparklemotion |
| cpe:2.3:a:nokogiri:nokogiri:1.11.0:rc1:*:*:*:ruby:*:* | 1.11.0 rc1 | Vulnerable | sparklemotion |
| cpe:2.3:a:nokogiri:nokogiri:1.11.0:rc2:*:*:*:ruby:*:* | 1.11.0 rc2 | Vulnerable | sparklemotion |
| cpe:2.3:a:nokogiri:nokogiri:1.11.0:rc3:*:*:*:ruby:*:* | 1.11.0 rc3 | Vulnerable | sparklemotion |
| cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:* | 9.0 | Vulnerable | Debian |
| cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* | 10.0 | Vulnerable | Debian |
- cpe:2.3:a:nokogiri:nokogiri:*:*:*:*:*:ruby:*:* Versions before 1.11.0 Vulnerable ·sparklemotion
- cpe:2.3:a:nokogiri:nokogiri:1.11.0:rc1:*:*:*:ruby:*:* Versions 1.11.0 rc1 Vulnerable ·sparklemotion
- cpe:2.3:a:nokogiri:nokogiri:1.11.0:rc2:*:*:*:ruby:*:* Versions 1.11.0 rc2 Vulnerable ·sparklemotion
- cpe:2.3:a:nokogiri:nokogiri:1.11.0:rc3:*:*:*:ruby:*:* Versions 1.11.0 rc3 Vulnerable ·sparklemotion
- cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:* Versions 9.0 Vulnerable ·Debian
- cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* Versions 10.0 Vulnerable ·Debian
Remediation
- Fix · CNA nokogiri (sparklemotion) Fixed in 1.11.0.rc4
- Fix · GHSA-vr8q-g5c7-m54m nokogiri (RubyGems) Fixed in 1.11.0 Advisory →
Red Hat 2 advisories
- RHSA-2021:5191 Released 2021-12-16 · Red Hat rating ModerateRed Hat 3scale API Management 2.11.1 Release - Container Images
- Red Hat 3Scale AMP 2.11 3scale-amp2/3scale-rhel7-operator, 3scale-amp2/3scale-rhel7-operator-metadata, 3scale-amp2/apicast-gateway-rhel8 +7
- RHSA-2021:4702 Released 2021-11-16 · Red Hat rating ModerateSatellite 6.10 Release
- Red Hat Satellite 6.10 candlepin-4.0.9-1.el7sat, foreman-2.5.2.17-2.el7sat, python-aiohttp-3.7.4-1.el7pc +14
- Red Hat Satellite Capsule 6.10 foreman-2.5.2.17-2.el7sat, python-aiohttp-3.7.4-1.el7pc, python-ecdsa-0.13.3-2.el7pc +9
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| CloudForms Management Engine 5 | Affected | No fix planned: Will not fix |
| Red Hat Satellite 6 | Affected | No fix planned: Will not fix |
| Red Hat 3Scale AMP 2.11 | Fixed | RHSA-2021:5191 |
| Red Hat Satellite 6.10 | Fixed | RHSA-2021:4702 |
| Red Hat Satellite Capsule 6.10 | Fixed | RHSA-2021:4702 |
Not affected: 2 products
- Red Hat Satellite 6.10
- Red Hat Satellite Capsule 6.10
Timeline
- 2026-10-02 Threatist record created from CVE-2020-26247
- 2026-10-03 Alias added: GHSA-vr8q-g5c7-m54m
References
Advisory 7
- https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-vr8q-g5c7-m54m
- https://rubygems.org/gems/nokogiri
- https://github.com/sparklemotion/nokogiri/releases/tag/v1.11.0.rc4
- [debian-lts-announce] 20210606 [SECURITY] [DLA 2678-1] ruby-nokogiri security update
- GLSA-202208-29
- [debian-lts-announce] 20221012 [SECURITY] [DLA 3149-1] ruby-nokogiri security update
- https://nvd.nist.gov/vuln/detail/CVE-2020-26247
More sparklemotion Nokogiri vulnerabilities
- TI-2022-11724 Improper Handling of Unexpected Data Type in Nokogiri CVSS 3.1HIGH 8.2
- TI-2018-15259 zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if… CVSS 3.1HIGH 7.5
- TI-2019-03885 OS command injection in Nokogiri CVSS 3.1CRITICAL 9.8
- TI-2026-55247 Nokogiri before 1.19.3 ReDoS via CSS selector tokenizer CVSS 4.0HIGH 8.7
- TI-2022-07536 Unchecked return value from xmlTextReaderExpand in Nokogiri CVSS 3.1HIGH 7.5
- TI-2022-08648 Inefficient Regular Expression Complexity in Nokogiri CVSS 3.1HIGH 7.5
Sources
- CVE-2020-26247 · CVE Program
- CVE-2020-26247 · NVD
- FIRST EPSS
- GHSA-vr8q-g5c7-m54m · GitHub Advisory Database · CC BY 4.0
- CVE-2020-26247 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences