CVE-2024-8176
High · 7.5CVSS
7.5
EPSS
1.4%
Published
Mar 14, 2025
CISA due date
—
Cloudanix analysis
A flaw in a common XML parsing library can let attackers crash software by sending specially crafted documents, potentially disrupting services.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A stack overflow vulnerability in libexpat caused by unbounded recursion during XML entity expansion, leading to stack exhaustion and potential crash or memory corruption.
Why it matters to the business
Applications using vulnerable libexpat versions for XML parsing can be crashed remotely, causing service disruption. Low exploitation likelihood based on current metrics and lack of KEV listing, but affects systems handling untrusted XML across the ecosystem.
How an attack unfolds
An attacker crafts an XML document with deeply nested entity references and sends it to a target application parsing XML with libexpat, triggering recursive expansion until stack overflow. No named threat actors or ransomware campaigns are associated with this issue.
How to fix it
Update libexpat to a version incorporating the fix from commit d068c3ff36fc6f4789988a09c69b434db757db53 in the Alpine aports repository. Apply patches or upgrade affected packages.
How to confirm the fix worked
Verify libexpat version is updated beyond the vulnerable commit. Test parsing of deeply nested entity XML without crash.
Typical attack path
- Identify target application accepting XML input
- Craft malicious XML with recursive entities
- Transmit XML to parser
- Trigger stack overflow leading to DoS or potential corruption
How to detect it
Look for application crashes during XML parsing in logs, unusual stack usage, or error messages related to entity expansion.
What your security team should do
- Prioritize patching libexpat in all XML-processing applications
- Monitor for updates in dependencies given 593 days since publication
- Implement input validation for XML depth if possible
The record
A stack overflow vulnerability exists in the libexpat library due to the way it handles recursive entity expansion in XML documents. When parsing an XML document with deeply nested entity references, libexpat can be forced to recurse indefinitely, exhausting the stack space and causing a crash. This issue could lead to denial of service (DoS) or, in some cases, exploitable memory corruption, depending on the environment and library usage.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | expat | 0 | 2.7.1-1.el10_0 |
| AlmaLinux:10 | expat-devel | 0 | 2.7.1-1.el10_0 |
| AlmaLinux:8 | expat | 0 | 2.2.5-17.el8_10 |
| AlmaLinux:8 | expat-devel | 0 | 2.2.5-17.el8_10 |
| AlmaLinux:9 | expat | 0 | 2.5.0-3.el9_5.3 |
| AlmaLinux:9 | expat | 0 | 2.5.0-5.el9_6 |
| AlmaLinux:9 | expat-devel | 0 | 2.5.0-3.el9_5.3 |
| AlmaLinux:9 | expat-devel | 0 | 2.5.0-5.el9_6 |
| Alpine:v3.18 | expat | 0 | 2.7.0-r0 |
| Alpine:v3.19 | expat | 0 | 2.7.0-r0 |
| Alpine:v3.20 | expat | 0 | 2.7.0-r0 |
| Alpine:v3.21 | expat | 0 | 2.7.0-r0 |
| Alpine:v3.22 | expat | 0 | 2.7.0-r0 |
| Debian:11 | expat | 0 | No fix |
| Debian:11 | libxmltok | 0 | No fix |
| Debian:12 | expat | 0 | No fix |
| Debian:12 | libxmltok | 0 | No fix |
| Debian:13 | expat | 0 | No fix |
| Debian:14 | expat | 0 | 2.7.0-1 |
| Mageia:9 | expat | 0 | 2.7.0-1.mga9 |
| SUSE:Enterprise Storage 7.1 | expat | 0 | 2.7.1-150000.3.36.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | expat | 0 | 2.7.1-150000.3.36.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Micro 5.1 | expat | 0 | 2.7.1-150000.3.36.1 |
| SUSE:Linux Enterprise Micro 5.2 | expat | 0 | 2.7.1-150000.3.36.1 |
| SUSE:Linux Enterprise Micro 5.3 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Micro 5.4 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Micro 5.5 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | expat | 0 | 2.7.1-150700.3.3.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | expat | 0 | 2.7.1-21.43.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | expat | 0 | 2.7.1-150000.3.36.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | expat | 0 | 2.7.1-21.43.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | expat | 0 | 2.7.1-150000.3.36.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Manager Proxy 4.3 | expat | 0 | 2.7.1-150400.3.28.1 |
| SUSE:Manager Server 4.3 | expat | 0 | 2.7.1-150400.3.28.1 |
| openSUSE:Leap 15.6 | expat | 0 | 2.7.1-150400.3.28.1 |
| openSUSE:Tumbleweed | expat | 0 | 2.7.1-1.1 |
Related vulnerabilities
- CVE-2025-59375 libexpat in Expat before 2.7.2 allows attackers to trigger large dynamic memory… Also affects expat
- CVE-2024-50602 An issue was discovered in libexpat before 2.6.4. Also affects expat
- CVE-2024-45491 An issue was discovered in libexpat before 2.6.3. Also affects expat
- CVE-2024-45492 An issue was discovered in libexpat before 2.6.3. Also affects expat
- CVE-2024-45490 An issue was discovered in libexpat before 2.6.3. Also affects expat
- CVE-2024-28757 libexpat through 2.6.1 allows an XML Entity Expansion attack when there is isolated use… Also affects expat
- CVE-2017-9233 XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser… Also affects expat
- CVE-2016-4472 The overflow protection in Expat is removed by compilers with certain optimization… Also affects expat