Name | CVE-2016-4300 |
Description | Integer overflow in the read_SubStreamsInfo function in archive_read_support_format_7zip.c in libarchive before 3.2.1 allows remote attackers to execute arbitrary code via a 7zip file with a large number of substreams, which triggers a heap-based buffer overflow. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-554-1, DSA-3657-1 |
Vulnerable and fixed packages
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|
libarchive (PTS) | bullseye | 3.4.3-2+deb11u1 | fixed |
| bullseye (security) | 3.4.3-2+deb11u2 | fixed |
| bookworm | 3.6.2-1+deb12u1 | fixed |
| bookworm (security) | 3.6.2-1+deb12u2 | fixed |
| sid, trixie | 3.7.4-1.1 | fixed |
The information below is based on the following data on fixed versions.
Notes
http://blog.talosintel.com/2016/06/the-poisoned-archives.html
http://www.talosintel.com/reports/TALOS-2016-0152/
https://github.com/libarchive/libarchive/issues/718
Requirement: https://github.com/libarchive/libarchive/commit/3d469df8eaace8297a27ce62befa295c0fdc5a3a
Fixed by: https://github.com/libarchive/libarchive/commit/e79ef306afe332faf22e9b442a2c6b59cb175573 (v3.2.1)
Notice introduction of UMAX_ENTRY with 3d469df8eaace8297a27ce62befa295c0fdc5a3a
Libarchive 3.1.2 and lower has a much smaller "UMAX_ENTRY", which is hardcoded
in various places before 3d469df8eaace8297a27ce62befa295c0fdc5a3a and has value
1000000, making exploitation more difficult but not impossible.