Cloudanix VulnDB

CVE-2024-45491

Critical · 9.8

CVSS

9.8

EPSS

1.1%

Published

Aug 30, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in a widely used library for reading XML data can let attackers crash or take control of programs on older 32-bit computers.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow in dtdCopy function within xmlparse.c on 32-bit platforms where UINT_MAX equals SIZE_MAX, leading to potential memory corruption when handling nDefaultAtts during DTD copying.

Why it matters to the business

Applications relying on libexpat for XML processing on 32-bit systems face elevated risk of crashes or remote code execution, potentially disrupting services and exposing data across ecosystems with high library prevalence.

How an attack unfolds

An attacker crafts XML input containing a large number of default attributes to trigger the integer overflow during DTD processing in dtdCopy on vulnerable 32-bit builds, resulting in memory corruption that may be leveraged for code execution or denial of service.

How to fix it

Upgrade libexpat to version 2.6.3 or newer by applying the fix from commit 88b3ed553d8ad335559254863a33360d55b9f1d6; rebuild and redeploy all dependent applications after the update.

How to confirm the fix worked

Verify installed libexpat version is 2.6.3 or later; perform regression testing with XML inputs containing large default attribute sets on 32-bit platforms to confirm absence of overflow behavior.

Typical attack path

  1. Identify target applications using vulnerable libexpat versions for XML parsing
  2. Craft malicious XML document with excessive default attributes to exceed integer limits
  3. Deliver the XML payload via network input, file upload, or API request
  4. Trigger dtdCopy execution path leading to overflow and memory corruption
  5. Exploit resulting corruption for arbitrary code execution or service disruption

How to detect it

Review application logs for unexpected crashes or memory errors during XML parsing; inspect process dumps or core files for signs of corruption in xmlparse.c paths; correlate with inbound XML traffic containing high attribute counts.

What your security team should do

  • Prioritize upgrade of libexpat across all 32-bit deployments within 30 days
  • Inventory all software dependencies on libexpat and schedule rebuilds
  • Implement input validation or size limits on XML attribute processing as temporary control
  • Monitor vendor advisories for downstream packages incorporating the fixed library

The record

An issue was discovered in libexpat before 2.6.3. dtdCopy in xmlparse.c can have an integer overflow for nDefaultAtts on 32-bit platforms (where UINT_MAX equals SIZE_MAX).

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 expat 0 2.2.5-15.el8_10
AlmaLinux:8 expat-devel 0 2.2.5-15.el8_10
AlmaLinux:8 xmlrpc-c 0 1.51.0-10.el8_10
AlmaLinux:8 xmlrpc-c-c++ 0 1.51.0-10.el8_10
AlmaLinux:8 xmlrpc-c-client 0 1.51.0-10.el8_10
AlmaLinux:8 xmlrpc-c-client++ 0 1.51.0-10.el8_10
AlmaLinux:8 xmlrpc-c-devel 0 1.51.0-10.el8_10
AlmaLinux:9 expat 0 2.5.0-2.el9_4.1
AlmaLinux:9 expat-devel 0 2.5.0-2.el9_4.1
Alpine:v3.17 expat 0 2.6.3-r0
Alpine:v3.18 expat 0 2.6.3-r0
Alpine:v3.19 expat 0 2.6.3-r0
Alpine:v3.20 expat 0 2.6.3-r0
Alpine:v3.21 expat 0 2.6.3-r0
Alpine:v3.22 expat 0 2.6.3-r0
Debian:11 expat 0 2.2.10-2+deb11u6
Debian:11 libxmltok 0 No fix
Debian:12 expat 0 2.5.0-1+deb12u1
Debian:12 libxmltok 0 No fix
Debian:13 expat 0 2.6.2-2
Mageia:9 expat 0 2.6.3-1.mga9
Mageia:9 mozjs78 0 78.15.0-7.1.mga9
Red Hat:enterprise_linux:8::baseos expat 0 0:2.2.5-15.el8_10
Red Hat:enterprise_linux:8::baseos expat-debuginfo 0 0:2.2.5-15.el8_10
Red Hat:enterprise_linux:8::baseos expat-debugsource 0 0:2.2.5-15.el8_10
Red Hat:enterprise_linux:8::baseos expat-devel 0 0:2.2.5-15.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-apps-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-c++ 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-c++-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-client 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-client++ 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-client++-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-client-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-debugsource 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::baseos xmlrpc-c-devel 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-apps-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-c++ 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-c++-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-client 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-client++ 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-client++-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-client-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-debuginfo 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-debugsource 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:8::crb xmlrpc-c-devel 0 0:1.51.0-10.el8_10
Red Hat:enterprise_linux:9::appstream expat 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::appstream expat-debuginfo 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::appstream expat-debugsource 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::appstream expat-devel 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::baseos expat 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::baseos expat-debuginfo 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::baseos expat-debugsource 0 0:2.5.0-2.el9_4.1
Red Hat:enterprise_linux:9::baseos expat-devel 0 0:2.5.0-2.el9_4.1
Rocky Linux:8 expat 0 0:2.2.5-15.el8_10
Rocky Linux:8 xmlrpc-c 0 0:1.51.0-10.el8_10
Rocky Linux:9 expat 0 0:2.5.0-2.el9_4.1
SUSE:Linux Enterprise Micro 5.1 expat 0 2.2.5-150000.3.30.1
SUSE:Linux Enterprise Micro 5.2 expat 0 2.2.5-150000.3.30.1
SUSE:Linux Enterprise Micro 5.2 mozjs60 0 60.9.0-150200.6.8.1
SUSE:Linux Enterprise Micro 5.3 expat 0 2.4.4-150400.3.22.1
SUSE:Linux Enterprise Micro 5.3 mozjs60 0 60.9.0-150200.6.8.1
SUSE:Linux Enterprise Micro 5.4 expat 0 2.4.4-150400.3.22.1
SUSE:Linux Enterprise Micro 5.4 mozjs60 0 60.9.0-150200.6.8.1
SUSE:Linux Enterprise Micro 5.5 expat 0 2.4.4-150400.3.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 expat 0 2.4.4-150400.3.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 expat 0 2.4.4-150400.3.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 mozjs60 0 60.9.0-150200.6.8.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 mozjs78 0 78.15.0-150400.3.6.2
SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 mozjs115 0 115.4.0-150600.3.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP7 mozjs60 0 60.9.0-150200.6.8.1
SUSE:Linux Enterprise Module for Package Hub 15 SP5 mozjs78 0 78.15.0-150400.3.6.2
SUSE:Linux Enterprise Module for Package Hub 15 SP6 mozjs78 0 78.15.0-150400.3.6.2
SUSE:Linux Enterprise Module for Package Hub 15 SP7 mozjs52 0 52.6.0-150000.3.9.1
SUSE:Linux Enterprise Server 12 SP5 expat 0 2.1.0-21.37.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 expat 0 2.1.0-21.37.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 expat 0 2.1.0-21.37.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 2.2.9-1ubuntu0.7
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.4
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:24.04:LTS cadaver 0 No fix
Ubuntu:24.04:LTS expat 0 2.6.1-2ubuntu0.1
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.2-2
Ubuntu:24.10 libxmltok 0 1.2-4.1ubuntu3
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 1.2-4.1ubuntu3
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 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 2.1.0-4ubuntu1.4+esm9
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 2.1.0-7ubuntu0.16.04.5+esm9
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 1.2-3ubuntu0.16.04.1~esm4
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 2.2.5-3ubuntu0.9+esm1
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 1.2-4ubuntu0.18.04.1~esm3
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 insighttoolkit4 0 No fix
Ubuntu:Pro:20.04:LTS libxmltok 0 1.2-4ubuntu0.20.04.1~esm3
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 1.2-4ubuntu0.22.04.1~esm3
Ubuntu:Pro:24.04:LTS libxmltok 0 1.2-4.1ubuntu2.24.0.4.1+esm1
openSUSE:Leap 15.5 expat 0 2.4.4-150400.3.22.1
openSUSE:Leap 15.5 mozjs78 0 78.15.0-150400.3.6.2
openSUSE:Leap 15.6 expat 0 2.4.4-150400.3.22.1
openSUSE:Leap 15.6 mozjs115 0 115.4.0-150600.3.3.1
openSUSE:Leap 15.6 mozjs52 0 52.6.0-150000.3.9.1
openSUSE:Leap 15.6 mozjs60 0 60.9.0-150200.6.8.1
openSUSE:Leap 15.6 mozjs78 0 78.15.0-150400.3.6.2

Related vulnerabilities