Cloudanix VulnDB

CVE-2024-45490

High · 7.5

CVSS

7.5

EPSS

1.7%

Published

Aug 30, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A widely used XML parsing library can be tricked into crashing when given certain bad input, taking down any program that uses it until it is updated.

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

What it actually does

xmlparse.c in libexpat accepts a negative length argument to XML_ParseBuffer without validation, allowing subsequent integer underflow or out-of-bounds memory operations that terminate the process.

Why it matters to the business

Applications and services relying on libexpat can be forced offline by remote or local inputs, producing availability loss until the process is restarted or the library is updated.

How an attack unfolds

An attacker supplies an XML document or invokes the parsing API with a negative buffer length value; the missing check permits the parser to dereference invalid memory offsets, triggering a crash without requiring authentication or user interaction.

How to fix it

Upgrade libexpat to the commit 88b3ed553d8ad335559254863a33360d55b9f1d6 or later release that enforces non-negative lengths in XML_ParseBuffer; rebuild and redeploy all dependent binaries.

How to confirm the fix worked

Confirm the installed libexpat version or commit hash is at or beyond 88b3ed553d8ad335559254863a33360d55b9f1d6; run unit tests that pass negative lengths to XML_ParseBuffer and verify they are rejected with an error rather than crashing.

Typical attack path

  1. Identify a network-accessible service or application that links against a vulnerable libexpat build
  2. Craft an XML payload or API call containing a negative length parameter for XML_ParseBuffer
  3. Deliver the input over the network or locally
  4. Observe process termination and service denial

How to detect it

Review application and system logs for unexpected libexpat process crashes or segmentation faults during XML parsing; correlate with inbound XML traffic or API calls that precede the failure; monitor for repeated restarts of services that embed libexpat.

What your security team should do

  • Immediately inventory all systems and containers that ship or link libexpat and schedule upgrades to the fixed commit
  • Prioritize patching internet-facing services first due to the network attack vector and high availability impact
  • Add libexpat version checks to build pipelines and dependency scanners to prevent re-introduction of vulnerable builds

The record

An issue was discovered in libexpat before 2.6.3. xmlparse.c does not reject a negative length for XML_ParseBuffer.

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 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
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 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