The malloc function in the GNU C Library (aka glibc or libc6) 2.26 could return a memory block that is too small if an attempt is made to allocate an object whose size is close to SIZE_MAX, potentially leading to a subsequent heap overflow. This occurs because the per-thread cache (aka tcache) feature enables a code path that lacks an integer overflow check.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "libc6-s390-dbgsym": "2.27-3ubuntu1", "libc6-dev": "2.27-3ubuntu1", "multiarch-support": "2.27-3ubuntu1", "libc6-dev-s390": "2.27-3ubuntu1", "libc6-dev-i386": "2.27-3ubuntu1", "locales-all": "2.27-3ubuntu1", "libc6-amd64-dbgsym": "2.27-3ubuntu1", "libc6-pic": "2.27-3ubuntu1", "glibc-source": "2.27-3ubuntu1", "libc6-dev-amd64": "2.27-3ubuntu1", "nscd-dbgsym": "2.27-3ubuntu1", "nscd": "2.27-3ubuntu1", "glibc-doc": "2.27-3ubuntu1", "libc6-armel": "2.27-3ubuntu1", "libc6-armel-dbgsym": "2.27-3ubuntu1", "libc6": "2.27-3ubuntu1", "libc6-dbg": "2.27-3ubuntu1", "libc-bin": "2.27-3ubuntu1", "libc6-i386": "2.27-3ubuntu1", "libc6-udeb": "2.27-3ubuntu1", "libc6-dev-x32": "2.27-3ubuntu1", "libc-bin-dbgsym": "2.27-3ubuntu1", "libc-dev-bin": "2.27-3ubuntu1", "libc6-amd64": "2.27-3ubuntu1", "libc6-x32": "2.27-3ubuntu1", "libc6-s390": "2.27-3ubuntu1", "libc6-dev-armel": "2.27-3ubuntu1", "libc6-i386-dbgsym": "2.27-3ubuntu1", "locales": "2.27-3ubuntu1", "libc-dev-bin-dbgsym": "2.27-3ubuntu1", "libc6-x32-dbgsym": "2.27-3ubuntu1" } ] }