Cloudanix VulnDB

CVE-2024-45492

Critical · 9.8

CVSS

9.8

EPSS

1.4%

Published

Aug 30, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a widely used XML library can let attackers crash or take over programs on older 32-bit computers when they process certain files.

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

What it actually does

Integer overflow in nextScaffoldPart within xmlparse.c allows m_groupSize to wrap on 32-bit platforms where UINT_MAX equals SIZE_MAX, resulting in memory corruption.

Why it matters to the business

Applications parsing untrusted XML on 32-bit systems may crash or allow arbitrary code execution, disrupting services and exposing data across any dependent software stacks.

How an attack unfolds

An attacker supplies a specially crafted XML document that triggers excessive group size calculations during parsing; on 32-bit builds the overflow corrupts internal structures, enabling control-flow hijacking or denial of service.

How to fix it

Upgrade libexpat to commit 88b3ed553d8ad335559254863a33360d55b9f1d6 or later release 2.6.3; rebuild and redeploy all dependent applications.

How to confirm the fix worked

Confirm the installed libexpat version or commit hash is at or beyond the fixed revision; run regression tests with XML payloads that previously triggered the overflow.

Typical attack path

  1. Identify a network-accessible service or application that uses a vulnerable libexpat build on a 32-bit platform.
  2. Send a malicious XML payload crafted to exercise nextScaffoldPart with an oversized m_groupSize value.
  3. Trigger the integer wrap and subsequent memory corruption to achieve code execution or crash the process.

How to detect it

Review application logs for unexpected crashes or memory errors during XML parsing; monitor for sudden restarts of services that embed libexpat on 32-bit hosts.

What your security team should do

  • Prioritize patching all 32-bit deployments that embed or link against libexpat within the next maintenance window.
  • Scan build pipelines and package manifests for references to pre-2.6.3 libexpat versions.
  • Enable memory-safety tooling such as ASAN or fuzzing in CI for XML parsing components.

The record

An issue was discovered in libexpat before 2.6.3. nextScaffoldPart in xmlparse.c can have an integer overflow for m_groupSize 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: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: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: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 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 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 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 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 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 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 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 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
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
openSUSE:Leap Micro 5.5 expat 0 2.4.4-150400.3.22.1
openSUSE:Tumbleweed expat 0 2.6.3-1.1
openSUSE:Tumbleweed libqt5-qtwebengine 0 5.15.18-1.1
openSUSE:Tumbleweed mozjs115 0 115.4.0-5.1
openSUSE:Tumbleweed mozjs128 0 128.2.0-2.1
openSUSE:Tumbleweed mozjs78 0 78.15.0-5.1
openSUSE:Tumbleweed x3270 0 4.3-4.1

Related vulnerabilities