{"id":"UBUNTU-CVE-2019-17178","details":"HuffmanTree_makeFromFrequencies in lodepng.c in LodePNG through 2019-09-28, as used in WinPR in FreeRDP and other products, has a memory leak because a supplied realloc pointer (i.e., the first argument to realloc) is also used for a realloc return value.","modified":"2026-04-22T13:37:10.911072Z","published":"2019-10-04T17:15:00Z","upstream":["CVE-2019-17178"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2019-17178"},{"type":"REPORT","url":"https://github.com/FreeRDP/FreeRDP/issues/5645"},{"type":"REPORT","url":"https://github.com/akallabeth/FreeRDP/commit/fc80ab45621bd966f70594c0b7393ec005a94007"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2019-17178"}],"affected":[{"package":{"name":"freerdp","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/freerdp@1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1","1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.2","1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.3","1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4"],"ecosystem_specific":{"binaries":[{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"freerdp-x11"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-cache1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-client1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-codec1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-common1.1.0"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-core1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-crypto1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-gdi1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-locale1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-plugins-standard"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-primitives1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-rail1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libfreerdp-utils1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-asn1-0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-bcrypt0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-credentials0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-credui0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-crt0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-crypto0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-dsparse0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-environment0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-error0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-file0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-handle0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-heap0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-input0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-interlocked0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-io0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-library0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-path0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-pipe0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-pool0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-registry0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-rpc0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-sspi0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-sspicli0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-synch0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-sysinfo0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-thread0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-timezone0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-utils0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-winhttp0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libwinpr-winsock0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4","binary_name":"libxfreerdp-client1.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-17178.json"}},{"package":{"name":"freerdp","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/freerdp@1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1","1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.1","1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2"],"ecosystem_specific":{"binaries":[{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"freerdp-x11"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-cache1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-client1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-codec1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-common1.1.0"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-core1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-crypto1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-gdi1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-locale1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-plugins-standard"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-primitives1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-rail1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libfreerdp-utils1.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-asn1-0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-bcrypt0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-credentials0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-credui0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-crt0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-crypto0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-dsparse0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-environment0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-error0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-file0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-handle0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-heap0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-input0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-interlocked0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-io0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-library0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-path0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-pipe0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-pool0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-registry0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-rpc0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-sspi0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-sspicli0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-synch0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-sysinfo0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-thread0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-timezone0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-utils0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-winhttp0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libwinpr-winsock0.1"},{"binary_version":"1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2","binary_name":"libxfreerdp-client1.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-17178.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"type":"Ubuntu","score":"low"}]}