CVE Vulnerabilities

CVE-2019-19956

Missing Release of Memory after Effective Lifetime

Published: Dec 24, 2019 | Modified: Dec 03, 2025
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.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

xmlParseBalancedChunkMemoryRecover in parser.c in libxml2 before 2.9.10 has a memory leak related to newDoc->oldNs.

Weakness

The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.

Affected Software

NameVendorStart VersionEnd Version
Libxml2Xmlsoft*2.9.10 (excluding)
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-curl-0:7.64.1-36.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-httpd-0:2.4.37-57.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_cluster-native-0:1.3.14-4.Final_redhat_2.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_http2-0:1.15.7-3.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_jk-0:1.2.48-4.redhat_1.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_md-1:2.0.8-24.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-mod_security-0:2.9.2-51.GA.jbcs.el6*
JBoss Core Services on RHEL 6RedHatjbcs-httpd24-nghttp2-0:1.39.2-25.jbcs.el6*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-curl-0:7.64.1-36.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-httpd-0:2.4.37-57.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_cluster-native-0:1.3.14-4.Final_redhat_2.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_http2-0:1.15.7-3.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_jk-0:1.2.48-4.redhat_1.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_md-1:2.0.8-24.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-mod_security-0:2.9.2-51.GA.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-nghttp2-0:1.39.2-25.jbcs.el7*
JBoss Core Services on RHEL 7RedHatjbcs-httpd24-openssl-pkcs11-0:0.4.10-7.jbcs.el7*
Red Hat Enterprise Linux 7RedHatlibxml2-0:2.9.1-6.el7.5*
Red Hat Enterprise Linux 8RedHatlibxml2-0:2.9.7-8.el8*
Red Hat Enterprise Linux 8RedHatlibxml2-0:2.9.7-8.el8*
Red Hat OpenShift DoRedHatopenshiftdo/odo-init-image-rhel7:1.1.3-2*
Text-Only JBCSRedHatlibxml2*
Libxml2Ubuntubionic*
Libxml2Ubuntudevel*
Libxml2Ubuntudisco*
Libxml2Ubuntueoan*
Libxml2Ubuntuesm-infra-legacy/trusty*
Libxml2Ubuntuesm-infra/bionic*
Libxml2Ubuntuesm-infra/focal*
Libxml2Ubuntuesm-infra/xenial*
Libxml2Ubuntufocal*
Libxml2Ubuntutrusty*
Libxml2Ubuntutrusty/esm*
Libxml2Ubuntuupstream*
Libxml2Ubuntuxenial*

Potential Mitigations

  • Choose a language or tool that provides automatic memory management, or makes manual memory management less error-prone.
  • For example, glibc in Linux provides protection against free of invalid pointers.
  • When using Xcode to target OS X or iOS, enable automatic reference counting (ARC) [REF-391].
  • To help correctly and consistently manage memory when programming in C++, consider using a smart pointer class such as std::auto_ptr (defined by ISO/IEC ISO/IEC 14882:2003), std::shared_ptr and std::unique_ptr (specified by an upcoming revision of the C++ standard, informally referred to as C++ 1x), or equivalent solutions such as Boost.

References