Cloudanix VulnDB

CVE-2017-9233

High · 7.5

CVSS

7.5

EPSS

8.7%

Published

Jul 25, 2017

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a common XML processing library lets attackers crash or freeze applications by sending specially crafted data, causing services to stop working until restarted.

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

What it actually does

The vulnerability allows an attacker to supply a malformed external entity definition via an external DTD, causing the Expat XML parser to enter an infinite loop and consume CPU resources indefinitely, resulting in denial of service.

Why it matters to the business

Applications relying on the vulnerable XML parser can be rendered unresponsive, leading to service outages, degraded performance, and the need for manual restarts or resource limits; widespread use in libraries and tools increases exposure across many systems despite the age of the issue.

How an attack unfolds

An attacker crafts an XML document containing a specially malformed external entity reference sourced from an external DTD and submits it to any application using the vulnerable Expat parser; the parser processes the definition and enters an unrecoverable infinite loop, denying service without requiring authentication or user interaction.

How to fix it

Upgrade libexpat to a version newer than 2.2.0; for affected packages apply python/cpython (GIT) fix ca079a3ea30098aff3197c559a0e32d42dda6d84, grype (Chainguard) 0.74.4-r1, or grype (Wolfi) 0.74.4-r1; where possible, configure parsers to disable external entity resolution.

How to confirm the fix worked

Verify the installed libexpat version is newer than 2.2.0; attempt to reproduce the infinite-loop condition with a test malformed DTD payload under controlled conditions and confirm the process terminates or rejects the input.

Typical attack path

  1. Identify an application endpoint or input that accepts XML data processed by Expat
  2. Craft a malicious XML payload with a malformed external entity definition in an external DTD
  3. Deliver the payload over the network to the target parser
  4. Trigger repeated parsing to sustain resource exhaustion

How to detect it

Search application and system logs for XML parsing events coinciding with sudden high CPU utilization on parser processes; examine inbound XML traffic for external entity references; review process dumps or resource monitors for non-terminating loops during XML handling.

What your security team should do

  • Prioritize patching all instances of libexpat and dependent packages to the listed fixed versions
  • Implement input validation and parser hardening to reject external DTDs by default
  • Monitor for high sustained CPU usage in XML-processing services
  • Review and restrict network-accessible XML endpoints

The record

XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser Library) allows attackers to put the parser in an infinite loop using a malformed external entity definition from an external DTD.

Affected packages

Ecosystem Package Introduced Fixed
Alpine:v3.10 expat 0 2.2.0-r1
Alpine:v3.11 expat 0 2.2.0-r1
Alpine:v3.12 expat 0 2.2.0-r1
Alpine:v3.13 expat 0 2.2.0-r1
Alpine:v3.14 expat 0 2.2.0-r1
Alpine:v3.15 expat 0 2.2.0-r1
Alpine:v3.16 expat 0 2.2.0-r1
Alpine:v3.17 expat 0 2.2.0-r1
Alpine:v3.18 expat 0 2.2.0-r1
Alpine:v3.19 expat 0 2.2.0-r1
Alpine:v3.20 expat 0 2.2.0-r1
Alpine:v3.21 expat 0 2.2.0-r1
Alpine:v3.22 expat 0 2.2.0-r1
Alpine:v3.4 expat 0 2.2.0-r1
Alpine:v3.5 expat 0 2.2.0-r1
Alpine:v3.6 expat 0 2.2.0-r1
Alpine:v3.7 expat 0 2.2.0-r1
Alpine:v3.8 expat 0 2.2.0-r1
Alpine:v3.9 expat 0 2.2.0-r1
Debian:11 expat 0 2.2.1-1
Debian:11 libxmltok 0 No fix
Debian:12 expat 0 2.2.1-1
Debian:12 libxmltok 0 No fix
Debian:13 expat 0 2.2.1-1
Debian:14 expat 0 2.2.1-1
Debian:7 expat 0 2.1.0-1+deb7u5
Debian:8 expat 0 2.1.0-6+deb8u4
Debian:9 expat 0 2.2.0-2+deb9u1
Mageia:5 expat 0 2.1.0-9.5.mga5
SUSE:Enterprise Storage 5 python3 0 3.4.10-25.39.3
SUSE:Enterprise Storage 5 python3-base 0 3.4.10-25.39.2
SUSE:HPE Helion OpenStack 8 python3 0 3.4.10-25.39.3
SUSE:HPE Helion OpenStack 8 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Desktop 12 SP2 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Desktop 12 SP3 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Desktop 12 SP4 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Desktop 12 SP4 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Module for Web and Scripting 12 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Module for Web and Scripting 12 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 11 SP4 expat 0 2.0.1-88.42.3.2
SUSE:Linux Enterprise Server 12 SP1-LTSS python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP1-LTSS python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 12 SP2 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Server 12 SP2-BCL python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP2-BCL python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 12 SP2-LTSS python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP2-LTSS python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 12 SP3 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Server 12 SP3-BCL python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP3-BCL python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 12 SP3-LTSS python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP3-LTSS python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 12 SP4 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP4 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server 12 SP5 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server 12 SP5 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 expat 0 2.0.1-88.42.3.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Software Development Kit 11 SP4 expat 0 2.0.1-88.42.3.2
SUSE:Linux Enterprise Software Development Kit 12 SP2 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 expat 0 2.1.0-21.3.1
SUSE:Linux Enterprise Software Development Kit 12 SP4 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Software Development Kit 12 SP4 python3-base 0 3.4.10-25.39.2
SUSE:Linux Enterprise Software Development Kit 12 SP5 python3 0 3.4.10-25.39.3
SUSE:Linux Enterprise Software Development Kit 12 SP5 python3-base 0 3.4.10-25.39.2
SUSE:OpenStack Cloud 7 python3 0 3.4.10-25.39.3
SUSE:OpenStack Cloud 7 python3-base 0 3.4.10-25.39.2
SUSE:OpenStack Cloud 8 python3 0 3.4.10-25.39.3
SUSE:OpenStack Cloud 8 python3-base 0 3.4.10-25.39.2
SUSE:OpenStack Cloud Crowbar 8 python3 0 3.4.10-25.39.3
SUSE:OpenStack Cloud Crowbar 8 python3-base 0 3.4.10-25.39.2
SUSE:Studio Onsite 1.3 expat 0 2.0.1-88.42.3.2
Ubuntu:14.04:LTS expat 0 2.1.0-4ubuntu1.4
Ubuntu:16.04:LTS cableswig 0 No fix
Ubuntu:16.04:LTS expat 0 2.1.0-7ubuntu0.16.04.3
Ubuntu:16.04:LTS firefox 0 67.0.4+build1-0ubuntu0.16.04.1
Ubuntu:16.04:LTS insighttoolkit4 0 No fix
Ubuntu:16.04:LTS matanza 0 No fix
Ubuntu:16.04:LTS swish-e 0 No fix
Ubuntu:18.04:LTS coin3 0 No fix
Ubuntu:18.04:LTS firefox 0 67.0.4+build1-0ubuntu0.18.04.1
Ubuntu:18.04:LTS matanza 0 No fix
Ubuntu:18.04:LTS swish-e 0 No fix
Ubuntu:18.04:LTS vnc4 0 No fix
Ubuntu:20.04:LTS matanza 0 No fix
Ubuntu:20.04:LTS swish-e 0 No fix
Ubuntu:22.04:LTS matanza 0 No fix
Ubuntu:22.04:LTS swish-e 0 No fix
Ubuntu:24.04:LTS audacity 0 No fix
Ubuntu:24.04:LTS matanza 0 No fix
Ubuntu:24.04:LTS swish-e 0 No fix
Ubuntu:24.10 audacity 0 No fix
Ubuntu:24.10 matanza 0 No fix
Ubuntu:24.10 sitecopy 0 No fix
Ubuntu:24.10 swish-e 0 No fix
Ubuntu:25.04 matanza 0 No fix
Ubuntu:25.04 sitecopy 0 No fix
Ubuntu:25.04 swish-e 0 No fix
Ubuntu:25.10 matanza 0 No fix
Ubuntu:25.10 sitecopy 0 No fix
Ubuntu:25.10 swish-e 0 No fix
Ubuntu:Pro:14.04:LTS coin3 0 3.1.4~abc9f50-4ubuntu2+esm1
Ubuntu:Pro:14.04:LTS vnc4 0 No fix
Ubuntu:Pro:16.04:LTS cableswig 0 No fix
Ubuntu:Pro:16.04:LTS coin3 0 3.1.4~abc9f50+dfsg1-1ubuntu0.1~esm1
Ubuntu:Pro:16.04:LTS insighttoolkit4 0 No fix
Ubuntu:Pro:16.04:LTS matanza 0 No fix
Ubuntu:Pro:16.04:LTS swish-e 0 No fix
Ubuntu:Pro:16.04:LTS vnc4 0 No fix
Ubuntu:Pro:18.04:LTS coin3 0 No fix
Ubuntu:Pro:18.04:LTS matanza 0 No fix
Ubuntu:Pro:18.04:LTS swish-e 0 No fix
Ubuntu:Pro:18.04:LTS vnc4 0 No fix
Ubuntu:Pro:20.04:LTS matanza 0 No fix
Ubuntu:Pro:20.04:LTS swish-e 0 No fix
openSUSE:Tumbleweed expat 0 2.4.1-1.2

Related vulnerabilities