Cloudanix VulnDB

CVE-2025-32415

None

CVSS

—

EPSS

0.6%

Published

Apr 17, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in a common library used to check XML files against rules can let attackers crash programs or peek at internal memory when specially crafted files are processed.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Data Exposure
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Low
Patch risk
Low

What it actually does

Heap-based buffer under-read in xmlSchemaIDCFillNodeTables during XML schema validation with identity constraints, allowing out-of-bounds memory access when processing crafted XML documents or schemas.

Why it matters to the business

Applications processing untrusted XML schemas or documents may crash or leak sensitive memory contents, leading to service disruption and potential exposure of internal data; high ecosystem prevalence increases patching urgency across dependent systems.

How an attack unfolds

An attacker crafts a malicious XML document or schema containing specific identity constraints and supplies it to an application that performs schema validation with libxml2; the vulnerable function then performs an under-read on the heap during node table population.

How to fix it

Upgrade libxml2 to 2.13.8 or 2.14.2 or later; for affected Red Hat Enterprise Linux 8 packages apply mpg123 1.32.9-1.el8_10 or newer; apply the libxml2 commit eb0a2f2b91566384f378d870ffcd69c0a24162cc where source builds are used.

How to confirm the fix worked

Confirm installed libxml2 version meets or exceeds 2.13.8/2.14.2; re-run schema validation test cases with previously crashing inputs; monitor for absence of under-read crashes in validation paths.

Typical attack path

  1. Identify target application accepting XML input with schema validation
  2. Craft XML document or schema triggering identity constraint path in xmlschemas.c
  3. Submit input to trigger xmlSchemaIDCFillNodeTables under-read
  4. Observe crash for denial of service or inspect leaked heap memory for sensitive data

How to detect it

Review application logs for unexpected crashes or errors during XML schema validation; search process memory dumps or core files for patterns consistent with heap under-reads after XML processing; no public exploitation artifacts are known.

What your security team should do

  • Prioritize patching libxml2 in all environments handling XML schema validation due to 559 days since publication
  • Inventory and update all dependent packages including mpg123 on Red Hat Enterprise Linux 8
  • Disable schema validation for untrusted inputs until patches are applied
  • Add XML input sanitization and size limits as defense-in-depth

The record

In libxml2 before 2.13.8 and 2.14.x before 2.14.2, xmlSchemaIDCFillNodeTables in xmlschemas.c has a heap-based buffer under-read. To exploit this, a crafted XML document must be validated against an XML schema with certain identity constraints, or a crafted XML schema must be used.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:10 libxml2 0 2.12.5-9.el10_0
AlmaLinux:10 libxml2-devel 0 2.12.5-9.el10_0
AlmaLinux:10 libxml2-static 0 2.12.5-9.el10_0
AlmaLinux:10 python3-libxml2 0 2.12.5-9.el10_0
AlmaLinux:8 libxml2 0 2.9.7-21.el8_10.3
AlmaLinux:8 libxml2-devel 0 2.9.7-21.el8_10.3
AlmaLinux:8 python3-libxml2 0 2.9.7-21.el8_10.3
AlmaLinux:9 libxml2 0 2.9.13-12.el9_6
AlmaLinux:9 libxml2-devel 0 2.9.13-12.el9_6
AlmaLinux:9 python3-libxml2 0 2.9.13-12.el9_6
Alpine:v3.18 libxml2 0 2.11.8-r3
Alpine:v3.19 libxml2 0 2.11.8-r3
Alpine:v3.20 libxml2 0 2.12.7-r3
Alpine:v3.21 libxml2 0 2.13.4-r6
Alpine:v3.22 libxml2 0 2.13.8-r0
Chainguard openjdk-11-openj9 0 0.53.0-r0
Chainguard openjdk-11-openj9-dbg 0 0.53.0-r0
Chainguard openjdk-11-openj9-default-jdk 0 0.53.0-r0
Chainguard openjdk-11-openj9-default-jvm 0 0.53.0-r0
Chainguard openjdk-11-openj9-default-policy 0 0.53.0-r0
Chainguard openjdk-11-openj9-doc 0 0.53.0-r0
Chainguard openjdk-11-openj9-jmods 0 0.53.0-r0
Chainguard openjdk-11-openj9-jre 0 0.53.0-r0
Chainguard openjdk-17-openj9 0 0.53.0-r0
Chainguard openjdk-17-openj9-dbg 0 0.53.0-r0
Chainguard openjdk-17-openj9-default-jdk 0 0.53.0-r0
Chainguard openjdk-17-openj9-default-jvm 0 0.53.0-r0
Chainguard openjdk-17-openj9-default-policy 0 0.53.0-r0
Chainguard openjdk-17-openj9-doc 0 0.53.0-r0
Chainguard openjdk-17-openj9-jmods 0 0.53.0-r0
Chainguard openjdk-17-openj9-jre 0 0.53.0-r0
Chainguard openjdk-21-openj9 0 0.53.0-r0
Chainguard openjdk-21-openj9-dbg 0 0.53.0-r0
Chainguard openjdk-21-openj9-default-jdk 0 0.53.0-r0
Chainguard openjdk-21-openj9-default-jvm 0 0.53.0-r0
Chainguard openjdk-21-openj9-default-policy 0 0.53.0-r0
Chainguard openjdk-21-openj9-doc 0 0.53.0-r0
Chainguard openjdk-21-openj9-jmods 0 0.53.0-r0
Chainguard openjdk-21-openj9-jre 0 0.53.0-r0
Chainguard openjdk-8-openj9 0 0.53.0-r1
Chainguard openjdk-8-openj9-dbg 0 0.53.0-r1
Chainguard openjdk-8-openj9-default-jdk 0 0.53.0-r1
Chainguard openjdk-8-openj9-default-jvm 0 0.53.0-r1
Chainguard openjdk-8-openj9-doc 0 0.53.0-r1
Chainguard openjdk-8-openj9-jre 0 0.53.0-r1
Debian:11 libxml2 0 No fix
Debian:12 libxml2 0 No fix
Debian:13 libxml2 0 No fix
Debian:13 libxml2 0 2.12.7+dfsg+really2.9.14-1
Debian:14 libxml2 0 2.12.7+dfsg+really2.9.14-1
Mageia:9 libxml2 0 2.10.4-1.7.mga9
SUSE:Linux Enterprise Micro 5.1 libxml2 0 2.9.7-150000.3.79.1
SUSE:Linux Enterprise Micro 5.2 libxml2 0 2.9.7-150000.3.79.1
SUSE:Linux Enterprise Micro 5.2 python-libxml2-python 0 2.9.7-150000.3.79.1
SUSE:Linux Enterprise Micro 5.5 libxml2 0 2.10.3-150500.5.26.1
SUSE:Linux Enterprise Micro 5.5 libxml2-python 0 2.10.3-150500.5.26.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 libxml2 0 2.10.3-150500.5.26.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 libxml2-python 0 2.10.3-150500.5.26.1
SUSE:Linux Enterprise Module for Python 3 15 SP6 libxml2-python 0 2.10.3-150500.5.26.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 libxml2 0 2.9.4-46.84.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 python-libxml2 0 2.9.4-46.84.1
openSUSE:Leap 15.6 libxml2 0 2.10.3-150500.5.26.1
openSUSE:Leap 15.6 libxml2-python 0 2.10.3-150500.5.26.1
openSUSE:Leap 15.6 python-libxml2-python 0 2.9.7-150000.3.79.1
openSUSE:Tumbleweed libxml2 0 2.13.8-1.1

Related vulnerabilities