upx: Multiple vulnerabilities (CVE-2018-11243, CVE-2019-14296, CVE-2019-20021, CVE-2019-20053)
CVE-2018-11243: Double-free in PackLinuxElf64::unpack in p_lx_elf.cpp allows denial of service
PackLinuxElf64::unpack in p_lx_elf.cpp in UPX 3.95 allows remote attackers to cause a denial of service (double free), limit the ability of a malware scanner to operate on the entire original data, or possibly have unspecified other impact via a crafted file.
References:
Patch:
https://github.com/upx/upx/commit/d9288213ec156dffc435566b9d393d23e87c6914
CVE-2019-14296: denial of service in canUnpack in p_vmlinx.cpp
canUnpack in p_vmlinx.cpp in UPX 3.95 allows remote attackers to cause a denial of service (SEGV or buffer overflow, and application crash) or possibly have unspecified other impact via a crafted UPX packed file.
Patch:
https://github.com/upx/upx/commit/276b748aa6021c38a2dc699153f61b10e76bc3d2
CVE-2019-20021: Heap-based buffer overflow in canUnpack in p_mach.cpp
A heap-based buffer over-read was discovered in canUnpack in p_mach.cpp in UPX 3.95 via a crafted Mach-O file.
References:
Patch:
https://github.com/upx/upx/commit/819c33fee2b2c33b96bef27a13cb20f2589819aa
CVE-2019-20053: Invalid memory address dereference in canUnpack in p_mach.cpp
An invalid memory address dereference was discovered in the canUnpack function in p_mach.cpp in UPX 3.95 via a crafted Mach-O file.
References:
Patch:
https://github.com/upx/upx/commit/819c33fee2b2c33b96bef27a13cb20f2589819aa
Affected branches:
-
master (0c3dfdf2) -
3.11-stable