Threat reportVulnerabilityTL-2026-4002

Red Hat RHSA-2026:86331 glycin-loaders use-after-free (CVE-2026-96889 / RUSTSEC-2026-0305, librsvg)

highPATCHED

Red Hat RHSA-2026:86331 glycin-loaders use-after-free (TL-2026-4002), also tracked as RUSTSEC-2026-0305, is a high-severity software vulnerability scored CVSS 7.8, first published 2026-10-21. It has no confirmed attribution, affects Red Hat glycin-loaders (RHEL 10, 10.2 EUS, 10.2 ELS; x86_64, ppc64le), references 1 CVE (CVE-2026-96889), maps to 3 MITRE ATT&CK techniques (T1203, T1204.002, T1566.001), and is covered by 9 detection rules and 10 indicators of compromise.

CVSS
7.8/10High
CVEs
1Referenced vulnerabilities
Techniques
3MITRE ATT&CK
Actors
0Not attributed
Detection rules
9SPL · KQL · Sigma
IOCs
10Indicators of compromise

Key facts for TL-2026-4002

Threat ID
TL-2026-4002
Also known as
RUSTSEC-2026-0305, RHSA-2026:86331, VectorFreed
Severity
HIGH
CVSS
7.8 (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)
Status
PATCHED
Category
VULNERABILITY
First published
Last reviewed
Attribution confidence
LOW
Motivation
UNKNOWN
Target sectors
technology, government administration, enterprise
Target regions
Global
Detection rules
9
Indicators of compromise
10

How Red Hat RHSA-2026:86331 glycin-loaders use-after-free works

CVE-2026-96889 is a use-after-free in librsvg triggered by an SVG containing nested XInclude elements that redeclare an entity already in use. Red Hat shipped an Important-rated glycin-loaders update for RHEL 10 (RHSA-2026:86331); a public PoC exists, but no in-the-wild exploitation is confirmed.

CVE-2026-96889 (RUSTSEC-2026-0305) is a use-after-free (CWE-416) in librsvg, the GNOME SVG rendering library written in Rust that relies on libxml2 for XML parsing. While libxml2 is expanding an internal entity, a recursive XInclude can parse a second document that declares an entity with the same name. Both parses share the same XmlState entity map on the librsvg side. entity_insert() replaces the first entry, and the replaced entry's Drop implementation calls xmlFreeNode(), freeing a 144-byte xmlEntity structure. The outer xmlCtxtParseEntity() then keeps using the freed object.

The issue was reported upstream by Rafael B. Dias in GNOME librsvg work item 1241. The reproducer (repro.svg) uses a data URI inside an xi:include that redefines an active XML entity. The upstream fix is commit 8a1b0cd319e9af2d1e9cf878081dd77f227a0504, which stops librsvg from freeing xmlEntity pointers that libxml2 still references. RustSec lists patched releases 2.63.2 and later, 2.62.4, 2.61.5, 2.60.3 and 2.57.5; other trackers cite 2.63.1 as the first upstream fix. NVD and Red Hat rate the issue CVSS 7.8 (AV:L/AC:L/PR:N/UI:R), so the victim must open or render a crafted SVG. Public sources describe the impact as denial of service or potential arbitrary code execution. No source demonstrates a working code-execution exploit.

Red Hat addressed the flaw for glycin-loaders (the image-loader component that embeds librsvg) on RHEL 10 in RHSA-2026:86331, issued 2026-10-20, rated Important. It affects RHEL 10 (x86_64, ppc64le) and the 10.2 EUS and ELS variants. Red Hat also tracks librsvg2 in Bugzilla 2539279, and Wiz lists RHEL 8, 9 and 10, Azure Linux (azl3_librsvg2 2.58.1-8) and Debian 12 as affected. Wiz reports a public PoC repository named VectorFreed that builds malicious SVGs (nested XInclude, base64 data URL, DOCTYPE entity declarations) for delivery by email, download or file share. Wiz reports no confirmed in-the-wild exploitation, the CVE is not in CISA KEV, and its EPSS is 0.00129. This record is based on vendor and tracker data only; the AUSCERT bulletin is member-gated, and no adversary, campaign or network infrastructure is associated with the flaw.

MITRE ATT&CK techniques used in TL-2026-4002

Execution

T1203 Exploitation for Client Execution; T1204.002 Malicious File

Initial Access

T1566.001 Spearphishing Attachment

Affected products and versions in Red Hat RHSA-2026:86331 glycin-loaders use-after-free

  • Red Hat — glycin-loaders (RHEL 10, 10.2 EUS, 10.2 ELS; x86_64, ppc64le)
    Vulnerable versions: glycin-loaders builds before 1.0.1-1.el10_2.2
    Fixed in: glycin-loaders-1.0.1-1.el10_2.2
  • GNOME — librsvg
    Vulnerable versions: all versions before the patched releases
    Fixed in: 2.63.2 and later; 2.62.4; 2.61.5; 2.60.3; 2.57.5
  • Debian — librsvg
    Vulnerable versions: bookworm 2.54.7+dfsg-1~deb12u1; trixie 2.60.0+dfsg-1
    Fixed in: trixie 2.60.0+dfsg-1+deb13u1; forky 2.63.2+dfsg-1; sid 2.63.3+dfsg-1
  • Microsoft — Azure Linux librsvg2
    Vulnerable versions: azl3_librsvg2 2.58.1-8

Remediation for Red Hat RHSA-2026:86331 glycin-loaders use-after-free

Patches

  • Red Hat RHSA-2026:86331: glycin-loaders-1.0.1-1.el10_2.2
  • Upstream librsvg: 2.63.2 and later, 2.62.4, 2.61.5, 2.60.3, 2.57.5 (RustSec); upstream fix first shipped in 2.63.1 per other trackers
  • Debian: trixie librsvg 2.60.0+dfsg-1+deb13u1, forky 2.63.2+dfsg-1, sid 2.63.3+dfsg-1

Immediate actions

  • Apply RHSA-2026:86331 (glycin-loaders-1.0.1-1.el10_2.2) on RHEL 10 / 10.2 EUS / 10.2 ELS hosts
  • Update librsvg2 and any other librsvg-linked packages from vendor errata (Red Hat, Debian, Azure Linux)
  • Restart desktop sessions and services that load librsvg or glycin loaders after patching

Workarounds

  • Avoid opening or previewing untrusted SVG files with librsvg-based viewers and thumbnailers until patched
  • Block or quarantine SVG attachments containing xi:include elements at the mail gateway

Longer-term hardening

  • Inventory applications and bundled crates that link librsvg (including statically linked Rust builds)
  • Track RUSTSEC-2026-0305 in Rust dependency auditing (cargo-audit) and rebuild affected binaries on librsvg 2.63.2 or later
  • Treat SVG files from email, downloads and shares as untrusted input and render them in sandboxed processes

CVEs associated with Red Hat RHSA-2026:86331 glycin-loaders use-after-free

CVE-2026-96889

Weaknesses (CWE) in Red Hat RHSA-2026:86331 glycin-loaders use-after-free

CWE-416

Timeline of Red Hat RHSA-2026:86331 glycin-loaders use-after-free

  • Debian security tracker lists fixes: trixie 2.60.0+dfsg-1+deb13u1, forky 2.63.2+dfsg-1, sid 2.63.3+dfsg-1; bookworm listed as vulnerable (date is the CVE publication date, fix dates not stated)
  • Red Hat opened Bugzilla 2539279 for CVE-2026-96889 and Fedora tracker bugs for librsvg2, mingw-librsvg2 and rust-librsvg
  • CVSS v3.1 base score 7.8 (AV:L/AC:L/PR:N/UI:R) and CWE-416 recorded for CVE-2026-96889
  • Upstream fix commit 8a1b0cd319e9af2d1e9cf878081dd77f227a0504 stops librsvg freeing xmlEntity pointers still used by libxml2; first shipped in 2.63.1 per trackers, with backports to 2.62.4, 2.61.5, 2.60.3 and 2.57.5
  • RUSTSEC-2026-0305 and CVE-2026-96889 published; upstream librsvg issue 1241 (reported by Rafael B. Dias) documents the nested XInclude duplicate-entity use-after-free
  • Red Hat issued RHSA-2026:86331 (Important) fixing glycin-loaders on RHEL 10 and 10.2 EUS/ELS with glycin-loaders-1.0.1-1.el10_2.2
  • AUSCERT published bulletin ESB-2026.12970 for the glycin-loaders update

Sources cited for Red Hat RHSA-2026:86331 glycin-loaders use-after-free

Detection coverage for TL-2026-4002

As of 2026-10-21, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-4002 across Splunk SPL, Microsoft KQL and Sigma, covering 10 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.

9 detection rules (Splunk SPL, Microsoft KQL, Sigma) · Blue and above. Compare plans
10 indicators of compromise · Red and above. Compare plans

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level
Fig. 01 · Threat weatherIndexing the archive…
1 square = 1 threat · click to open

Latest Threats