English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

libxml2 0-Day Vulnerabilities: CVE-2025-49794 and CVE-2025-49796 Type Confusion Flaws Explained

Forum topic · QianXun · 2025-10-13

Summary

A Chinese forum post analyzes recent zero-day vulnerabilities in libxml2, the widely used open-source XML parsing library embedded in Linux distributions, containers (e.g., Kafka, Postgres images), and applications like PHP and Python. Two high-severity type confusion flaws in the Schematron module—CVE-2025-49794 and CVE-2025-49796, both CVSS 9.1—affect versions below 2.12.10 and 2.13.6. PoCs were published before official patches were available, with Seal Security providing interim patches. Attackers can trigger crashes, denial-of-service, or potential remote code execution via crafted XML documents, potentially chained with XXE attacks. Related issues include CVE-2025-24928 (stack buffer overflow in valid.c) and an unpatched SGML Catalog overload DoS flagged by Vigilance. The post notes maintainer Daniel Veillard's move away from coordinated embargo policies, increasing public zero-day risk, and recommends upgrading to 2.12.10+/2.13.6+, disabling Schematron/DTD validation, using WAF filtering, and adopting SBOM supply-chain monitoring.

Overview

libxml2 is a ubiquitous open-source XML parsing library used across Linux distributions (Ubuntu, Red Hat), containers (e.g., Kafka in Docker), and applications (PHP, Python XML processing). Because it is a foundational component, its vulnerabilities have amplified impact. The post argues that the first half of 2025 was a high-activity period for libxml2 zero-days, driven mainly by Schematron module and memory management defects. As of October 2025, no brand-new zero-days have been disclosed, but CVE-2025-49794 and CVE-2025-49796 remain under active discussion and may be exploited in the wild.

Key 0-Day Vulnerabilities

CVE-2025-49794: Memory Corruption (CVSS 9.1, High)

  • Type confusion in Schematron validation leads to invalid memory access.
  • Triggered by a specially crafted XML document, bypassing validation logic.
  • Affected versions: 2.12.x < 2.12.10 and 2.13.x < 2.13.6.
  • A PoC was published on June 3, 2025, before the CVE was assigned on June 11 — Seal Security shipped interim "sealed" patches, confirming its zero-day nature.
  • The post suggests it can be chained with XXE into out-of-bounds read/write primitives.
  • CVE-2025-49796: Type Confusion (CVSS 9.1, High)

  • Schematron validation results are not properly type-checked, accessing uninitialized attributes.
  • Remote, unauthenticated attackers can cause DoS or code execution via malicious XML.
  • PoC published in GitLab Issue #933; no official patch existed at disclosure.
  • Red Hat rated it 9.1, highlighting wild-exploitation potential in containerized environments (e.g., Kafka). Local testing reportedly showed 100% CPU exhaustion or heap overflow when combined with DTD validation.
  • Related Vulnerabilities

  • CVE-2025-24928: Stack buffer overflow in xmlSnprintfElements (valid.c), requiring DTD validation; easy to chain toward RCE.
  • SGML Catalog File overload (Vigilance alert, 2025-10-11): DoS, no CVE assigned; discussed as a possible emerging zero-day.
  • The libxml2 maintainers have abandoned the embargo policy, increasing public zero-day risk.
  • Impact

  • Affected systems include Ubuntu (USN-7302-1 patches), AIX, Power HMC, and Docker images (e.g., Postgres linking libxml2).
  • Seal Security reported PoC scanning activity in Kafka containers.
  • Potential chain: XXE + type confusion → data exfiltration (e.g., /etc/passwd).
  • CVE Details lists 146+ CVEs for libxml2, with ~15% in 2025, mostly memory-related.
  • | Vulnerability | CVSS | Type | Affected versions | Patch status | |---|---|---|---|---| | CVE-2025-49794 | 9.1 | Type confusion | <2.12.10 / <2.13.6 | Available (upstream 2.12.10+) | | CVE-2025-49796 | 9.1 | Type confusion | <2.12.10 / <2.13.6 | Available (Seal interim patch) | | CVE-2025-24928 | 7.5 | Stack overflow | <2.12.10 / <2.13.6 | Available (IBM AIX patch) |

    Mitigation Recommendations

  • Immediate: Upgrade to libxml2 2.12.10+ or 2.13.6+. On Ubuntu: apt update && apt upgrade libxml2.
  • Interim: Disable Schematron/DTD validation (e.g., set LIBXML_NO_VALID with xmlReaderForFile); use a WAF such as ModSecurity to filter malicious XML.
  • The author also shares a Lua-based scanning script (using LuaXML or FFI bindings) that checks the libxml2 version and warns if it is below 2.12.10.

Outlook

Maintainer Daniel Veillard's "no embargo" policy (July 2025) accelerates zero-day disclosure but reflects open-source maintainer fatigue. The author predicts AI-driven fuzzing (e.g., syzkaller-style tooling) will surface more memory vulnerabilities in 2026, and recommends SBOM tooling (e.g., CycloneDX) for supply-chain monitoring and following Red Hat / Seal Security zero-day response services.

Tags

#libxml2#cve-2025-49794#cve-2025-49796#zero-day#vulnerability#xml-parsing#security#supply-chain

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/176030900