CVE-2026-96889
highpriority · track · 41EPSS 0.005 · 45 %ileexploit · PoCDERUUSEPSS · scored 2026-10-27
A flaw was found in librsvg. When processing an SVG document containing nested XML inclusions (Xincludes) with duplicate entity declarations, a use-after-free error can occur. This vulnerability arises because the library incorrectly frees an XML entity that is still in use by the parser. An attacker could potentially exploit this to cause a denial of service or execute arbitrary code.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
exploits (5)
Public proof-of-concept and weaponised exploit code.
affected products (24)
Products and version ranges known to be affected.
advisories (3)
Vendor and ecosystem advisories describing this.
- WID-SEC-W-2026-3973Vercel Next.js: Mehrere SchwachstellenDeutsch2026-10-14csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Vercel Next.js ausnutzen, um beliebigen Programmcode auszuführen, und um einen Denial of Service Angriff durchzuführen.
- GHSA-cpvr-w4j5-2mpgLibrsvg: Use-after-free when XML includes have duplicated entities2026-10-22ghsa · osvUS
Librsvg uses libxml2, a C library, to parse XML. When librsvg parses an SVG document which has a nested Xinclude, an XML entity declaration with a duplicate name as an existing one can cause a use-after-free error. While libxml2 is expanding an internal entity, a recursive XInclude can parse another document that declares an entity with the same name. Both parses use the same `XmlState` entity map on the librsvg side. `entity_insert()` replaces the first entry, whose `Drop` implementation calls `xmlFreeNode()`. The outer `xmlCtxtParseEntity()` then keeps using the freed 144-byte `xmlEntity`. The included parse should not free an entity that the outer parser is still using. The fix is in commit 8a1b0cd319e9af2d1e9cf878081dd77f227a0504, where librsvg will no longer free xmlEntity pointers that libxml2 is still using.
- RUSTSEC-2026-0305Use-after-free when XML includes have duplicated entities2026-09-23vendor · osvUS
Librsvg uses libxml2, a C library, to parse XML. When librsvg parses an SVG document which has a nested Xinclude, an XML entity declaration with a duplicate name as an existing one can cause a use-after-free error. While libxml2 is expanding an internal entity, a recursive XInclude can parse another document that declares an entity with the same name. Both parses use the same `XmlState` entity map on the librsvg side. `entity_insert()` replaces the first entry, whose `Drop` implementation calls `xmlFreeNode()`. The outer `xmlCtxtParseEntity()` then keeps using the freed 144-byte `xmlEntity`. The included parse should not free an entity that the outer parser is still using. The fix is in commit 8a1b0cd319e9af2d1e9cf878081dd77f227a0504, where librsvg will no longer free xmlEntity pointers that libxml2 is still using.
also known as (4)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (9) nvd
External citations — patches, advisories, analysis.
- https://access.redhat.com/errata/RHSA-2026:86331
- https://access.redhat.com/errata/RHSA-2026:86841
- https://access.redhat.com/errata/RHSA-2026:86842
- https://access.redhat.com/errata/RHSA-2026:86921
- https://access.redhat.com/security/cve/CVE-2026-96889
- https://bugzilla.redhat.com/show_bug.cgi?id=2539279
- https://crates.io/crates/librsvg
- https://gitlab.gnome.org/GNOME/librsvg/-/work_items/1241
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan