Name | CVE-2021-3420 |
Description | A flaw was found in newlib in versions prior to 4.0.0. Improper overflow validation in the memory allocation functions mEMALIGn, pvALLOc, nano_memalign, nano_valloc, nano_pvalloc could case an integer overflow, leading to an allocation of a small buffer and then to 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) |
Debian Bugs | 984424, 984446 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
libnewlib-nano (PTS) | buster | 2.11.2-1 | vulnerable |
newlib (PTS) | jessie | 2.1.0+git20140818.1a8323b-2 | vulnerable |
stretch | 2.4.0.20160527-2 | vulnerable | |
buster | 3.1.0.20181231-1 | vulnerable | |
bullseye | 3.3.0-1 | vulnerable | |
bookworm | 3.3.0-1.3+deb12u1 | fixed | |
sid, trixie | 4.4.0.20231231-4 | fixed | |
picolibc (PTS) | bullseye | 1.5.1-2 | fixed |
bookworm | 1.8-1 | fixed | |
sid, trixie | 1.8.8-2 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
libnewlib-nano | source | (unstable) | (unfixed) | 984424 | ||
newlib | source | experimental | 4.4.0.20231231-1 | |||
newlib | source | jessie | (unfixed) | end-of-life | ||
newlib | source | bookworm | 3.3.0-1.3+deb12u1 | |||
newlib | source | (unstable) | 4.4.0.20231231-2 | 984446 | ||
picolibc | source | (unstable) | 1.5-1 |
[bullseye] - newlib <ignored> (Minor issue)
[buster] - newlib <no-dsa> (Minor issue)
[stretch] - newlib <no-dsa> (Minor issue)
[buster] - libnewlib-nano <no-dsa> (Minor issue)
Fix in picolibc: https://keithp.com/cgit/picolibc.git/commit/newlib/libc/stdlib/mallocr.c?id=aa106b29a6a8a1b0df9e334704292cbc32f2d44e
https://sourceware.org/git/?p=newlib-cygwin.git;a=commit;h=aa106b29a6a8a1b0df9e334704292cbc32f2d44e