Skip to content
Fencer Vulns
medium 5.5

CVE-2019-20021 json

A heap-based buffer over-read was discovered in canUnpack in p_mach.cpp in UPX 3.95 via a crafted Mach-O file.

published 2019-12-27 6 y ago modified 2026-06-17 4 mo ago also EUVD-2019-10577

cvss
5.5
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
1.1%
EPSS 1.1% chance of exploitation in 30 days, percentile 65%
public exploits
0
none known

Summary

A heap-based buffer over-read was discovered in canUnpack in p_mach.cpp in UPX 3.95 via a crafted Mach-O file.

Patch / fix

  • upx-ucl Debian 14, Debian 13 3.96-1

debian advisories DEBIAN-CVE-2019-20021

  • upx openSUSE Tumbleweed 3.96-3.2
  • upx Package Hub 15 SP1 3.96-bp151.4.3.1
  • upx openSUSE Leap 15.1 3.96-lp151.3.3.1

opensuse advisories openSUSE-SU-2024:11486-1openSUSE-SU-2020:0180-1openSUSE-SU-2020:0163-1

  • upx Alpine 3.24, Alpine 3.23, Alpine 3.22 +10 more 3.96-r0

alpine advisories ALPINE-CVE-2019-20021

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2019-20021 updated cvss 6.6

upx: heap-based buffer overflow in canUnpack in p_mach.cpp

  • Red Hat All currently supported Red Hat products
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

1.09% chance of exploitation in the next 30 days, higher than 65% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/upx/upx/issues/315 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 5.5 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
NVD 2.0 4.3 AV:N/AC:M/Au:N/C:N/I:N/A:P

Classification

Weakness

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.