CVE-2014-5177
libvirt: unsafe parsing of XML documents allows libvirt DoS and/or arbitrary file read
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
libvirt 1.0.0 through 1.2.x before 1.2.5, when fine grained access control is enabled, allows local users to read arbitrary files via a crafted XML document containing an XML external entity declaration in conjunction with an entity reference to the (1) virDomainDefineXML, (2) virNetworkCreateXML, (3) virNetworkDefineXML, (4) virStoragePoolCreateXML, (5) virStoragePoolDefineXML, (6) virStorageVolCreateXML, (7) virDomainCreateXML, (8) virNodeDeviceCreateXML, (9) virInterfaceDefineXML, (10) virStorageVolCreateXMLFrom, (11) virConnectDomainXMLFromNative, (12) virConnectDomainXMLToNative, (13) virSecretDefineXML, (14) virNWFilterDefineXML, (15) virDomainSnapshotCreateXML, (16) virDomainSaveImageDefineXML, (17) virDomainCreateXMLWithFiles, (18) virConnectCompareCPU, or (19) virConnectBaselineCPU API method, related to an XML External Entity (XXE) issue. NOTE: this issue was SPLIT from CVE-2014-0179 per ADT3 due to different affected versions of some vectors.
libvirt 1.0.0 hasta 1.2.x anterior a 1.2.5, cuando el control de acceso detallado está habilitado, permite a usuarios locales leer ficheros arbitrarios a través de un documento XML manipulado que contiene una declaración de entidad externa XML en conjunto con una referencia de entidad en el método API (1) virDomainDefineXML, (2) virNetworkCreateXML, (3) virNetworkDefineXML, (4) virStoragePoolCreateXML, (5) virStoragePoolDefineXML, (6) virStorageVolCreateXML, (7) virDomainCreateXML, (8) virNodeDeviceCreateXML, (9) virInterfaceDefineXML, (10) virStorageVolCreateXMLFrom, (11) virConnectDomainXMLFromNative, (12) virConnectDomainXMLToNative, (13) virSecretDefineXML, (14) virNWFilterDefineXML, (15) virDomainSnapshotCreateXML, (16) virDomainSaveImageDefineXML, (17) virDomainCreateXMLWithFiles, (18) virConnectCompareCPU o (19) virConnectBaselineCPU, relacionado con un problema de entidad externa XML (XXE). NOTA: este problema ha sido dividido (SPLIT) del CVE-2014-0179 por ADT3 debido a las diferentes versiones afectadas de algunos vectores.
It was found that libvirt passes the XML_PARSE_NOENT flag when parsing XML documents using the libxml2 library, in which case all XML entities in the parsed documents are expanded. A user able to force libvirtd to parse an XML document with an entity pointing to a file could use this flaw to read the contents of that file (limited to libvirt as shipped with Red Hat Enterprise Linux 7); parsing an XML document with an entity pointing to a special file that blocks on read access could cause libvirtd to hang indefinitely, resulting in a denial of service on the system.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2014-08-03 CVE Reserved
- 2014-08-03 CVE Published
- 2023-03-08 EPSS Updated
- 2024-08-06 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-20: Improper Input Validation
- CWE-611: Improper Restriction of XML External Entity Reference
CAPEC
References (10)
URL | Tag | Source |
---|---|---|
http://libvirt.org/news.html | X_refsource_confirm | |
http://secunia.com/advisories/60895 | Third Party Advisory |
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
http://security.libvirt.org/2014/0003.html | 2019-04-22 |
URL | Date | SRC |
---|---|---|
http://lists.opensuse.org/opensuse-updates/2014-05/msg00048.html | 2019-04-22 | |
http://lists.opensuse.org/opensuse-updates/2014-05/msg00052.html | 2019-04-22 | |
http://rhn.redhat.com/errata/RHSA-2014-0560.html | 2019-04-22 | |
http://security.gentoo.org/glsa/glsa-201412-04.xml | 2019-04-22 | |
http://www.ubuntu.com/usn/USN-2366-1 | 2019-04-22 | |
https://access.redhat.com/security/cve/CVE-2014-5177 | 2014-07-22 | |
https://bugzilla.redhat.com/show_bug.cgi?id=1088290 | 2014-07-22 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Redhat Search vendor "Redhat" | Enterprise Virtualization Search vendor "Redhat" for product "Enterprise Virtualization" | 3.0 Search vendor "Redhat" for product "Enterprise Virtualization" and version "3.0" | - |
Affected
| ||||||
Opensuse Search vendor "Opensuse" | Opensuse Search vendor "Opensuse" for product "Opensuse" | 12.3 Search vendor "Opensuse" for product "Opensuse" and version "12.3" | - |
Affected
| ||||||
Opensuse Search vendor "Opensuse" | Opensuse Search vendor "Opensuse" for product "Opensuse" | 13.1 Search vendor "Opensuse" for product "Opensuse" and version "13.1" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Enterprise Linux Search vendor "Redhat" for product "Enterprise Linux" | 6.0 Search vendor "Redhat" for product "Enterprise Linux" and version "6.0" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.0 Search vendor "Redhat" for product "Libvirt" and version "1.0.0" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.1 Search vendor "Redhat" for product "Libvirt" and version "1.0.1" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.2 Search vendor "Redhat" for product "Libvirt" and version "1.0.2" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.3 Search vendor "Redhat" for product "Libvirt" and version "1.0.3" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.4 Search vendor "Redhat" for product "Libvirt" and version "1.0.4" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5 Search vendor "Redhat" for product "Libvirt" and version "1.0.5" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5.1 Search vendor "Redhat" for product "Libvirt" and version "1.0.5.1" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5.2 Search vendor "Redhat" for product "Libvirt" and version "1.0.5.2" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5.3 Search vendor "Redhat" for product "Libvirt" and version "1.0.5.3" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5.4 Search vendor "Redhat" for product "Libvirt" and version "1.0.5.4" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5.5 Search vendor "Redhat" for product "Libvirt" and version "1.0.5.5" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.5.6 Search vendor "Redhat" for product "Libvirt" and version "1.0.5.6" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.0.6 Search vendor "Redhat" for product "Libvirt" and version "1.0.6" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.1.0 Search vendor "Redhat" for product "Libvirt" and version "1.1.0" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.1.1 Search vendor "Redhat" for product "Libvirt" and version "1.1.1" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.1.2 Search vendor "Redhat" for product "Libvirt" and version "1.1.2" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.1.3 Search vendor "Redhat" for product "Libvirt" and version "1.1.3" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.1.4 Search vendor "Redhat" for product "Libvirt" and version "1.1.4" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.2.0 Search vendor "Redhat" for product "Libvirt" and version "1.2.0" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.2.1 Search vendor "Redhat" for product "Libvirt" and version "1.2.1" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.2.2 Search vendor "Redhat" for product "Libvirt" and version "1.2.2" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.2.3 Search vendor "Redhat" for product "Libvirt" and version "1.2.3" | - |
Affected
| ||||||
Redhat Search vendor "Redhat" | Libvirt Search vendor "Redhat" for product "Libvirt" | 1.2.4 Search vendor "Redhat" for product "Libvirt" and version "1.2.4" | - |
Affected
|