CVE-2025-27113
NoneCVSS
—
EPSS
1.1%
Published
Feb 18, 2025
CISA due date
—
Cloudanix analysis
A flaw in a widely used XML handling library can make programs crash when they receive certain unusual inputs, which may interrupt services that depend on it.
- Exploitation
- Other
- Attacker needs
- Other
- Complexity
- Theoretical
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
NULL pointer dereference in xmlPatMatch within pattern.c leads to memory corruption and potential application crash or undefined behavior when processing crafted pattern inputs.
Why it matters to the business
Widespread denial-of-service risk across applications and libraries depending on libxml2, including 98 downstream dependents such as TensorFlow deployments, resulting in service outages and operational disruption.
How an attack unfolds
An attacker identifies an application or service using a vulnerable libxml2 version and supplies specially crafted XML pattern data that reaches xmlPatMatch, triggering the NULL dereference to crash the process or potentially escalate into further memory corruption.
How to fix it
Upgrade libxml2 to version 2.12.10 or later, or 2.13.6 or later. For TensorFlow (Bitnami) update to 2.1.4. For gnome/libxml2 (GIT) apply commit 02d577715e1951cf114ca4e9adaf5605156c4f4c. Rebuild and redeploy dependent applications after upgrade.
How to confirm the fix worked
Verify installed libxml2 version against fixed releases, run regression tests with pattern-matching workloads, and monitor for absence of NULL dereference crashes under expected input conditions.
Typical attack path
- Locate target application or service relying on affected libxml2
- Craft malicious input targeting xmlPatMatch in pattern.c
- Deliver input via XML parsing or pattern matching functionality
- Trigger NULL dereference leading to crash or memory corruption
How to detect it
Monitor application logs and crash dumps for segmentation faults or NULL pointer errors originating from libxml2 pattern matching functions; review XML input sources feeding into pattern.c processing.
What your security team should do
- Prioritize upgrade of libxml2 in all affected products and dependents within standard patching cycles
- Inventory applications using libxml2 to assess exposure breadth
- Test upgrades in staging environments before production rollout
The record
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a NULL pointer dereference in xmlPatMatch in pattern.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | libxml2 | 0 | 2.11.8-r2 |
| Alpine:v3.19 | libxml2 | 0 | 2.11.8-r2 |
| Alpine:v3.20 | libxml2 | 0 | 2.12.7-r2 |
| Alpine:v3.21 | libxml2 | 0 | 2.13.4-r5 |
| Alpine:v3.22 | libxml2 | 0 | 2.13.6-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:11 | libxml2 | 0 | 2.9.10+dfsg-6.7+deb11u6 |
| Debian:12 | libxml2 | 0 | No fix |
| Debian:13 | libxml2 | 0 | No fix |
| Debian:13 | libxml2 | 0 | 2.12.7+dfsg+really2.9.14-0.4 |
| Debian:14 | libxml2 | 0 | 2.12.7+dfsg+really2.9.14-0.4 |
| Mageia:9 | libxml2 | 0 | 2.10.4-1.6.mga9 |
| SUSE:Enterprise Storage 7.1 | libxml2 | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Enterprise Storage 7.1 | python-libxml2-python | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | libxml2 | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | python-libxml2-python | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Micro 5.1 | libxml2 | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Micro 5.2 | libxml2 | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Micro 5.2 | python-libxml2-python | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Micro 5.3 | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Micro 5.3 | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Micro 5.4 | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Micro 5.4 | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Micro 5.5 | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Micro 5.5 | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Module for Python 3 15 SP6 | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | libxml2 | 0 | 2.9.4-46.81.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | python-libxml2 | 0 | 2.9.4-46.81.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | libxml2 | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | python-libxml2-python | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | libxml2 | 0 | 2.9.4-46.81.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | python-libxml2 | 0 | 2.9.4-46.81.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | libxml2 | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | python-libxml2-python | 0 | 2.9.7-150000.3.76.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| SUSE:Manager Proxy 4.3 | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Manager Proxy 4.3 | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Manager Server 4.3 | libxml2 | 0 | 2.9.14-150400.5.38.1 |
| SUSE:Manager Server 4.3 | libxml2-python | 0 | 2.9.14-150400.5.38.1 |
| openSUSE:Leap 15.6 | libxml2 | 0 | 2.10.3-150500.5.23.1 |
| openSUSE:Leap 15.6 | libxml2-python | 0 | 2.10.3-150500.5.23.1 |
| openSUSE:Leap 15.6 | python-libxml2-python | 0 | 2.9.7-150000.3.76.1 |
| openSUSE:Tumbleweed | libxml2 | 0 | 2.13.6-1.1 |
Related vulnerabilities
- CVE-2025-32415 In libxml2 before 2.13.8 and 2.14.x before 2.14.2, xmlSchemaIDCFillNodeTables in… Also affects libxml2
- CVE-2025-32414 In libxml2 before 2.13.8 and 2.14.x before 2.14.2, out-of-bounds memory access can occur… Also affects libxml2
- CVE-2025-24928 libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in… Also affects libxml2
- CVE-2024-56171 libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a use-after-free in… Also affects libxml2
- CVE-2016-9318 libxml2 2.9.4 and earlier, as used in XMLSec 1.2.23 and earlier and other products, does… Also affects libxml2
- CVE-2026-21945 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2026-21932 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2026-21933 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9