# CVE-2021-3517: Nokogiri contains libxml Out-of-bounds Write vulnerability

> An attacker can trigger an out-of-bounds read in libxml2 via a crafted file, causing application crashes and potential information disclosure.

- **Severity:** High 8.6 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 19 May 2021
- **Updated:** 14 Oct 2026
- **Also known as:** ALPINE-CVE-2021-3517, DEBIAN-CVE-2021-3517, ECHO-9b11-dcb0-2dc6, GHSA-jw9f-hh49-cvp9, JLSEC-2025-72, UBUNTU-CVE-2021-3517

## What is CVE-2021-3517?

CVE-2021-3517 is a high-severity memory corruption vulnerability in Debian Debian Linux, published on 19 May 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

There is a flaw in the xml entity encoding functionality of libxml2 in versions before 2.9.11. An attacker who is able to supply a crafted file to be processed by an application linked with the affected functionality of libxml2 could trigger an out-of-bounds read. The most likely impact of this flaw is to application availability, with some potential impact to confidentiality and integrity if an attacker is able to use memory information to further exploit the application.

Weakness: CWE-125 (Out-of-bounds Read), CWE-787 (Out-of-bounds Write)

## Which versions are affected by CVE-2021-3517?

2 open source packages ship an affected version, including nokogiri. It affects 28 products.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `nokogiri` | RubyGems | All versions | 1.11.4 |
| `nokogiri` | RubyGems | All versions | 1.11.4 |

Products: Debian Debian Linux, Fedoraproject Fedora, Netapp Active Iq Unified Manager, Netapp Clustered Data Ontap, Netapp Clustered Data Ontap Antivirus Connector, Netapp E-Series Santricity Os Controller, Netapp E-Series Santricity Storage Manager, Netapp E-Series Santricity Web Services, Netapp Hci H410c Firmware, Netapp Hci Management Node, Netapp Manageability Software Development Kit, Netapp Oncommand Insight, Netapp Oncommand Workflow Automation, Netapp Ontap Select Deploy Administration Utility, Netapp Santricity Unified Manager, Netapp Snapdrive, Netapp Snapmanager, Netapp Solidfire, Oracle Communications Cloud Native Core Network Function Cloud Native Environment, Oracle Enterprise Manager Base Platform and 8 more.

## How do I fix CVE-2021-3517?

Upgrade nokogiri to 1.11.4 or later.

## Is CVE-2021-3517 being exploited?

There is no known exploitation of CVE-2021-3517 in the wild and no public exploit code.

## Other vulnerabilities in Debian Debian Linux

- [CVE-2015-3306](https://insights.sbomify.com/CVE-2015-3306/): ProFTPD Improper Access Control (critical 10.0, exploited in the wild)
- [CVE-2025-49113](https://insights.sbomify.com/CVE-2025-49113/): RoundCube Webmail Deserialization of Untrusted Data (critical 9.9, exploited in the wild)
- [CVE-2026-24061](https://insights.sbomify.com/CVE-2026-24061/): GNU InetUtils Argument Injection (critical 9.8, exploited in the wild)
- [CVE-2025-39682](https://insights.sbomify.com/CVE-2025-39682/): Linux Kernel Improper Check for Unusual or Exceptional Conditions (critical 9.8, exploited in the wild)
- [CVE-2024-9680](https://insights.sbomify.com/CVE-2024-9680/): Mozilla Firefox Use-After-Free (critical 9.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2021-3517 and fix it if it is affected.

What it is: CVE-2021-3517 is a high-severity memory corruption vulnerability in Debian Debian Linux, published on 19 May 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2021-3517 in the wild and no public exploit code.

Affected packages and fixed versions:
- nokogiri (RubyGems): affected all versions; fixed in 1.11.4
- nokogiri (RubyGems): affected all versions; fixed in 1.11.4

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2021-3517/ (Markdown: https://insights.sbomify.com/CVE-2021-3517/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2021-3517
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-3517
- OSV: https://osv.dev/vulnerability/CVE-2021-3517

---
From sbomify Insights: https://insights.sbomify.com/CVE-2021-3517/
Summaries are generated and may contain mistakes; the official description above is the record.
