CVE Vulnerabilities

CVE-2017-9233

Improper Restriction of XML External Entity Reference

Published: Jul 25, 2017 | Modified: Nov 07, 2023
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 MODERATE
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM

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.

Weakness

The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.

Affected Software

Name Vendor Start Version End Version
Libexpat Libexpat_project * 2.2.0 (including)
Audacity Ubuntu kinetic *
Audacity Ubuntu lunar *
Audacity Ubuntu mantic *
Ayttm Ubuntu trusty *
Ayttm Ubuntu yakkety *
Cableswig Ubuntu trusty *
Cableswig Ubuntu xenial *
Cadaver Ubuntu artful *
Cadaver Ubuntu cosmic *
Cadaver Ubuntu trusty *
Cadaver Ubuntu yakkety *
Cadaver Ubuntu zesty *
Coin3 Ubuntu artful *
Coin3 Ubuntu bionic *
Coin3 Ubuntu cosmic *
Coin3 Ubuntu disco *
Coin3 Ubuntu esm-apps/xenial *
Coin3 Ubuntu trusty *
Coin3 Ubuntu trusty/esm *
Coin3 Ubuntu xenial *
Coin3 Ubuntu yakkety *
Coin3 Ubuntu zesty *
Expat Ubuntu trusty *
Expat Ubuntu upstream *
Expat Ubuntu vivid/ubuntu-core *
Expat Ubuntu xenial *
Expat Ubuntu yakkety *
Expat Ubuntu zesty *
Firefox Ubuntu artful *
Firefox Ubuntu trusty *
Firefox Ubuntu yakkety *
Firefox Ubuntu zesty *
Insighttoolkit Ubuntu trusty *
Insighttoolkit4 Ubuntu artful *
Insighttoolkit4 Ubuntu esm-apps/xenial *
Insighttoolkit4 Ubuntu trusty *
Insighttoolkit4 Ubuntu xenial *
Insighttoolkit4 Ubuntu yakkety *
Insighttoolkit4 Ubuntu zesty *
Libxmltok Ubuntu hirsute *
Libxmltok Ubuntu trusty *
Libxmltok Ubuntu xenial *
Matanza Ubuntu artful *
Matanza Ubuntu bionic *
Matanza Ubuntu cosmic *
Matanza Ubuntu disco *
Matanza Ubuntu eoan *
Matanza Ubuntu groovy *
Matanza Ubuntu hirsute *
Matanza Ubuntu impish *
Matanza Ubuntu kinetic *
Matanza Ubuntu lunar *
Matanza Ubuntu mantic *
Matanza Ubuntu trusty *
Matanza Ubuntu xenial *
Matanza Ubuntu yakkety *
Matanza Ubuntu zesty *
Sitecopy Ubuntu artful *
Sitecopy Ubuntu cosmic *
Sitecopy Ubuntu trusty *
Sitecopy Ubuntu yakkety *
Sitecopy Ubuntu zesty *
Swish-e Ubuntu artful *
Swish-e Ubuntu bionic *
Swish-e Ubuntu cosmic *
Swish-e Ubuntu disco *
Swish-e Ubuntu eoan *
Swish-e Ubuntu groovy *
Swish-e Ubuntu hirsute *
Swish-e Ubuntu impish *
Swish-e Ubuntu kinetic *
Swish-e Ubuntu lunar *
Swish-e Ubuntu mantic *
Swish-e Ubuntu trusty *
Swish-e Ubuntu xenial *
Swish-e Ubuntu yakkety *
Swish-e Ubuntu zesty *
Tdom Ubuntu artful *
Tdom Ubuntu cosmic *
Tdom Ubuntu trusty *
Tdom Ubuntu yakkety *
Tdom Ubuntu zesty *
Thunderbird Ubuntu artful *
Thunderbird Ubuntu trusty *
Thunderbird Ubuntu yakkety *
Thunderbird Ubuntu zesty *
Tla Ubuntu artful *
Tla Ubuntu cosmic *
Tla Ubuntu trusty *
Tla Ubuntu yakkety *
Tla Ubuntu zesty *
Vnc4 Ubuntu artful *
Vnc4 Ubuntu bionic *
Vnc4 Ubuntu cosmic *
Vnc4 Ubuntu disco *
Vnc4 Ubuntu eoan *
Vnc4 Ubuntu esm-apps/bionic *
Vnc4 Ubuntu esm-apps/xenial *
Vnc4 Ubuntu esm-infra-legacy/trusty *
Vnc4 Ubuntu trusty *
Vnc4 Ubuntu trusty/esm *
Vnc4 Ubuntu upstream *
Vnc4 Ubuntu xenial *
Vnc4 Ubuntu yakkety *
Vnc4 Ubuntu zesty *
Wbxml2 Ubuntu artful *
Wbxml2 Ubuntu trusty *
Wbxml2 Ubuntu yakkety *
Wbxml2 Ubuntu zesty *
Xmlrpc-c Ubuntu artful *
Xmlrpc-c Ubuntu trusty *
Xmlrpc-c Ubuntu yakkety *
Xmlrpc-c Ubuntu zesty *

Extended Description

XML documents optionally contain a Document Type Definition (DTD), which, among other features, enables the definition of XML entities. It is possible to define an entity by providing a substitution string in the form of a URI. The XML parser can access the contents of this URI and embed these contents back into the XML document for further processing. By submitting an XML file that defines an external entity with a file:// URI, an attacker can cause the processing application to read the contents of a local file. For example, a URI such as “file:///c:/winnt/win.ini” designates (in Windows) the file C:\Winnt\win.ini, or file:///etc/passwd designates the password file in Unix-based systems. Using URIs with other schemes such as http://, the attacker can force the application to make outgoing requests to servers that the attacker cannot reach directly, which can be used to bypass firewall restrictions or hide the source of attacks such as port scanning. Once the content of the URI is read, it is fed back into the application that is processing the XML. This application may echo back the data (e.g. in an error message), thereby exposing the file contents.

Potential Mitigations

References