Cloudanix VulnDB

CVE-2024-28757

High · 7.5

CVSS

7.5

EPSS

2.0%

Published

Mar 10, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a common XML processing library can let attackers send specially crafted data that makes programs use up all available memory or processing power, causing outages.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Allows XML Entity Expansion attacks when external parsers are created via XML_ExternalEntityParserCreate in isolated contexts, leading to uncontrolled recursive entity expansion and resource exhaustion.

Why it matters to the business

Applications using libexpat for XML processing may experience denial of service through excessive memory or CPU consumption, disrupting services and increasing operational costs until patched.

How an attack unfolds

An attacker supplies a crafted XML document that triggers external entity parsing through XML_ExternalEntityParserCreate, causing the parser to recursively expand entities without limits and exhaust system resources.

How to fix it

Upgrade libexpat to the fixed commit fa75b96546c069d17b8f80d91e0f4ef0cde3790d or later; rebuild and redeploy all dependent applications; disable external entity parsing where possible until updated.

How to confirm the fix worked

Verify the installed libexpat version or commit hash against fa75b96546c069d17b8f80d91e0f4ef0cde3790d; test parsing of known expansion payloads in isolated external parser contexts to confirm resource limits are enforced.

Typical attack path

  1. Identify an application endpoint or feature that accepts and processes XML using libexpat with external parser creation.
  2. Craft malicious XML containing recursive external entity references.
  3. Submit the XML payload to trigger isolated external parsing.
  4. Observe resource exhaustion leading to service degradation or crash.

How to detect it

Review application logs and system metrics for sudden high memory or CPU usage correlated with XML parsing activity; inspect process trees for libexpat-based parsers handling untrusted input.

What your security team should do

  • Prioritize patching all libexpat instances to the fixed commit within standard maintenance windows due to the high availability impact.
  • Audit codebases for use of XML_ExternalEntityParserCreate and restrict external entity resolution.
  • Monitor for unusual spikes in memory or CPU during XML processing as a temporary detection measure.
  • Update dependency scanning tools to flag vulnerable libexpat versions below the fixed commit.

The record

libexpat through 2.6.1 allows an XML Entity Expansion attack when there is isolated use of external parsers (created via XML_ExternalEntityParserCreate).

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 expat 0 2.5.0-1.el9_3.1
AlmaLinux:9 expat-devel 0 2.5.0-1.el9_3.1
Alpine:v3.16 expat 0 2.6.2-r0
Alpine:v3.17 expat 0 2.6.2-r0
Alpine:v3.18 expat 0 2.6.2-r0
Alpine:v3.19 expat 0 2.6.2-r0
Alpine:v3.20 expat 0 2.6.2-r0
Alpine:v3.21 expat 0 2.6.2-r0
Alpine:v3.22 expat 0 2.6.2-r0
Debian:10 expat 0 No fix
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 2.6.1-2
Debian:14 expat 0 2.6.1-2
Mageia:9 expat 0 2.6.2-1.mga9
Red Hat:enterprise_linux:9::appstream expat 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::appstream expat-debuginfo 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::appstream expat-debugsource 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::appstream expat-devel 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::baseos expat 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::baseos expat-debuginfo 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::baseos expat-debugsource 0 0:2.5.0-1.el9_3.1
Red Hat:enterprise_linux:9::baseos expat-devel 0 0:2.5.0-1.el9_3.1
Red Hat:rhel_eus:9.2::appstream expat 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::appstream expat-debuginfo 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::appstream expat-debugsource 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::appstream expat-devel 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::baseos expat 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::baseos expat-debuginfo 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::baseos expat-debugsource 0 0:2.5.0-1.el9_2.1
Red Hat:rhel_eus:9.2::baseos expat-devel 0 0:2.5.0-1.el9_2.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise Micro 5.3 expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise Micro 5.4 expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise Micro 5.5 expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise Server 15 SP4-LTSS expat 0 2.4.4-150400.3.17.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 expat 0 2.4.4-150400.3.17.1
SUSE:Manager Proxy 4.3 expat 0 2.4.4-150400.3.17.1
SUSE:Manager Server 4.3 expat 0 2.4.4-150400.3.17.1
Ubuntu:14.04:LTS xmlrpc-c 0 No fix
Ubuntu:16.04:LTS ayttm 0 No fix
Ubuntu:16.04:LTS cableswig 0 No fix
Ubuntu:16.04:LTS cadaver 0 No fix
Ubuntu:16.04:LTS gdcm 0 No fix
Ubuntu:16.04:LTS insighttoolkit4 0 No fix
Ubuntu:16.04:LTS matanza 0 No fix
Ubuntu:16.04:LTS smart 0 No fix
Ubuntu:16.04:LTS swish-e 0 No fix
Ubuntu:16.04:LTS tdom 0 No fix
Ubuntu:16.04:LTS wbxml2 0 No fix
Ubuntu:16.04:LTS xmlrpc-c 0 No fix
Ubuntu:18.04:LTS cadaver 0 No fix
Ubuntu:18.04:LTS coin3 0 No fix
Ubuntu:18.04:LTS gdcm 0 No fix
Ubuntu:18.04:LTS insighttoolkit4 0 No fix
Ubuntu:18.04:LTS matanza 0 No fix
Ubuntu:18.04:LTS smart 0 No fix
Ubuntu:18.04:LTS swish-e 0 No fix
Ubuntu:18.04:LTS tdom 0 No fix
Ubuntu:18.04:LTS vnc4 0 No fix
Ubuntu:18.04:LTS wbxml2 0 No fix
Ubuntu:18.04:LTS xmlrpc-c 0 No fix
Ubuntu:20.04:LTS cadaver 0 No fix
Ubuntu:20.04:LTS expat 0 No fix
Ubuntu:20.04:LTS insighttoolkit4 0 No fix
Ubuntu:20.04:LTS libxmltok 0 No fix
Ubuntu:20.04:LTS matanza 0 No fix
Ubuntu:20.04:LTS swish-e 0 No fix
Ubuntu:20.04:LTS tdom 0 No fix
Ubuntu:20.04:LTS wbxml2 0 No fix
Ubuntu:20.04:LTS xmlrpc-c 0 No fix
Ubuntu:22.04:LTS cadaver 0 No fix
Ubuntu:22.04:LTS expat 0 2.4.7-1ubuntu0.3
Ubuntu:22.04:LTS insighttoolkit4 0 No fix
Ubuntu:22.04:LTS libxmltok 0 No fix
Ubuntu:22.04:LTS matanza 0 No fix
Ubuntu:22.04:LTS swish-e 0 No fix
Ubuntu:22.04:LTS tdom 0 No fix
Ubuntu:22.04:LTS wbxml2 0 No fix
Ubuntu:22.04:LTS xmlrpc-c 0 No fix
Ubuntu:23.10 expat 0 2.5.0-2ubuntu0.1
Ubuntu:24.04:LTS cadaver 0 No fix
Ubuntu:24.04:LTS expat 0 2.6.1-2build1
Ubuntu:24.04:LTS libxmltok 0 No fix
Ubuntu:24.04:LTS matanza 0 No fix
Ubuntu:24.04:LTS swish-e 0 No fix
Ubuntu:24.04:LTS tdom 0 No fix
Ubuntu:24.04:LTS wbxml2 0 No fix
Ubuntu:24.04:LTS xmlrpc-c 0 No fix
Ubuntu:24.10 cadaver 0 No fix
Ubuntu:24.10 expat 0 2.6.1-2build1
Ubuntu:24.10 libxmltok 0 No fix
Ubuntu:24.10 matanza 0 No fix
Ubuntu:24.10 swish-e 0 No fix
Ubuntu:24.10 tdom 0 No fix
Ubuntu:24.10 wbxml2 0 No fix
Ubuntu:24.10 xmlrpc-c 0 No fix
Ubuntu:25.04 cadaver 0 No fix
Ubuntu:25.04 libxmltok 0 No fix
Ubuntu:25.04 matanza 0 No fix
Ubuntu:25.04 swish-e 0 No fix
Ubuntu:25.04 tdom 0 No fix
Ubuntu:25.04 wbxml2 0 No fix
Ubuntu:25.04 xmlrpc-c 0 No fix
Ubuntu:25.10 cadaver 0 No fix
Ubuntu:25.10 libxmltok 0 No fix
Ubuntu:25.10 matanza 0 No fix
Ubuntu:25.10 swish-e 0 No fix
Ubuntu:25.10 tdom 0 No fix
Ubuntu:25.10 wbxml2 0 No fix
Ubuntu:25.10 xmlrpc-c 0 No fix
Ubuntu:Pro:14.04:LTS coin3 0 No fix
Ubuntu:Pro:14.04:LTS expat 0 No fix
Ubuntu:Pro:14.04:LTS vnc4 0 No fix
Ubuntu:Pro:14.04:LTS vtk 0 No fix
Ubuntu:Pro:14.04:LTS xmlrpc-c 0 No fix
Ubuntu:Pro:16.04:LTS ayttm 0 No fix
Ubuntu:Pro:16.04:LTS cableswig 0 No fix
Ubuntu:Pro:16.04:LTS cadaver 0 No fix
Ubuntu:Pro:16.04:LTS coin3 0 No fix
Ubuntu:Pro:16.04:LTS expat 0 No fix
Ubuntu:Pro:16.04:LTS gdcm 0 No fix
Ubuntu:Pro:16.04:LTS insighttoolkit4 0 No fix
Ubuntu:Pro:16.04:LTS libxmltok 0 No fix
Ubuntu:Pro:16.04:LTS matanza 0 No fix
Ubuntu:Pro:16.04:LTS smart 0 No fix
Ubuntu:Pro:16.04:LTS swish-e 0 No fix
Ubuntu:Pro:16.04:LTS tdom 0 No fix
Ubuntu:Pro:16.04:LTS vnc4 0 No fix
Ubuntu:Pro:16.04:LTS vtk 0 No fix
Ubuntu:Pro:16.04:LTS wbxml2 0 No fix
Ubuntu:Pro:16.04:LTS xmlrpc-c 0 No fix
Ubuntu:Pro:18.04:LTS cadaver 0 No fix
Ubuntu:Pro:18.04:LTS coin3 0 No fix
Ubuntu:Pro:18.04:LTS expat 0 No fix
Ubuntu:Pro:18.04:LTS gdcm 0 No fix
Ubuntu:Pro:18.04:LTS insighttoolkit4 0 No fix
Ubuntu:Pro:18.04:LTS libxmltok 0 No fix
Ubuntu:Pro:18.04:LTS matanza 0 No fix
Ubuntu:Pro:18.04:LTS smart 0 No fix
Ubuntu:Pro:18.04:LTS swish-e 0 No fix
Ubuntu:Pro:18.04:LTS tdom 0 No fix
Ubuntu:Pro:18.04:LTS vnc4 0 No fix
Ubuntu:Pro:18.04:LTS wbxml2 0 No fix
Ubuntu:Pro:18.04:LTS xmlrpc-c 0 No fix
Ubuntu:Pro:20.04:LTS cadaver 0 No fix
Ubuntu:Pro:20.04:LTS expat 0 No fix
Ubuntu:Pro:20.04:LTS insighttoolkit4 0 No fix
Ubuntu:Pro:20.04:LTS libxmltok 0 No fix
Ubuntu:Pro:20.04:LTS matanza 0 No fix
Ubuntu:Pro:20.04:LTS swish-e 0 No fix
Ubuntu:Pro:20.04:LTS tdom 0 No fix
Ubuntu:Pro:20.04:LTS wbxml2 0 No fix
Ubuntu:Pro:20.04:LTS xmlrpc-c 0 No fix
Ubuntu:Pro:22.04:LTS libxmltok 0 No fix
Ubuntu:Pro:24.04:LTS libxmltok 0 No fix
openSUSE:Leap 15.5 expat 0 2.4.4-150400.3.17.1
openSUSE:Leap Micro 5.3 expat 0 2.4.4-150400.3.17.1
openSUSE:Leap Micro 5.4 expat 0 2.4.4-150400.3.17.1
openSUSE:Tumbleweed expat 0 2.6.2-1.1

Related vulnerabilities