klibc.git
4 years ago[klibc] calloc: Fail if multiplication overflows
Ben Hutchings [Wed, 28 Apr 2021 02:29:50 +0000 (04:29 +0200)]
[klibc] calloc: Fail if multiplication overflows

Origin: https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=292650f04c2b5348b4efbad61fb014ed09b4f3f2
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-31870

calloc() multiplies its 2 arguments together and passes the result to
malloc().  Since the factors and product both have type size_t, this
can result in an integer overflow and subsequent buffer overflow.
Check for this and fail if it happens.

CVE-2021-31870

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name 0037-klibc-calloc-Fail-if-multiplication-overflows.patch

4 years ago[klibc] malloc: Fail if requested size > PTRDIFF_MAX
Ben Hutchings [Wed, 28 Apr 2021 02:03:49 +0000 (04:03 +0200)]
[klibc] malloc: Fail if requested size > PTRDIFF_MAX

Origin: https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=a31ae8c508fc8d1bca4f57e9f9f88127572d5202
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-31873

malloc() adds some overhead to the requested size, which may result in
an integer overflow and subsequent buffer overflow if it is close to
SIZE_MAX.  It should fail if size is large enough for this to happen.

Further, it's not legal for a C object to be larger than
PTRDIFF_MAX (half of SIZE_MAX) as pointer arithmetic within it could
overflow.  So return failure immediately if size is greater than that.

CVE-2021-31873

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name 0036-klibc-malloc-Fail-if-requested-size-PTRDIFF_MAX.patch

4 years ago[klibc] malloc: Set errno on failure
Ben Hutchings [Wed, 28 Apr 2021 01:57:39 +0000 (03:57 +0200)]
[klibc] malloc: Set errno on failure

Origin: https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=7f6626d12daa2f1efd9953d1f4ba2065348dc5cd

malloc() is specified to set errno = ENOMEM on failure, so do that.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name 0035-klibc-malloc-Set-errno-on-failure.patch

4 years agoresume: Backward compatibility for resume_offset
Ben Hutchings [Thu, 19 Jul 2018 20:34:08 +0000 (21:34 +0100)]
resume: Backward compatibility for resume_offset

Forwarded: not-needed

In Debian we will need to maintain backward compatibility with Linux
4.9 at least until after the "buster" release.  Therefore we need to
accept that /sys/power/resume_offset might not exist.

If we can't open that file because it doesn't exist, we should check
whether the offset we are trying to set is the offset that the kernel
would use anyway.  In that case, continue.

Gbp-Pq: Name resume-backward-compatibility-for-resume_offset.patch

4 years agoklibc (2.0.6-1+deb10u1) buster; urgency=medium
Ben Hutchings [Sat, 5 Jun 2021 18:20:42 +0000 (19:20 +0100)]
klibc (2.0.6-1+deb10u1) buster; urgency=medium

  [ Ben Hutchings ]
  * Apply security fixes from 2.0.9 (Closes: #989505):
    - malloc: Set errno on failure
    - malloc: Fail if requested size > PTRDIFF_MAX (CVE-2021-31873)
    - calloc: Fail if multiplication overflows (CVE-2021-31870)
    - cpio: Fix possible integer overflow on 32-bit systems (CVE-2021-31872)
    - cpio: Fix possible crash on 64-bit systems (CVE-2021-31871)

  [ Thorsten Glaser ]
  * {set,long}jmp [s390x]: save/restore the correct FPU registers
    (f8‥f15 not f1/f3/f5/f7) (Closes: #943425)

[dgit import unpatched klibc 2.0.6-1+deb10u1]

4 years agoImport klibc_2.0.6-1+deb10u1.debian.tar.xz
Ben Hutchings [Sat, 5 Jun 2021 18:20:42 +0000 (19:20 +0100)]
Import klibc_2.0.6-1+deb10u1.debian.tar.xz

[dgit import tarball klibc 2.0.6-1+deb10u1 klibc_2.0.6-1+deb10u1.debian.tar.xz]

6 years agoImport klibc_2.0.6.orig.tar.gz
Ben Hutchings [Fri, 1 Feb 2019 05:00:57 +0000 (05:00 +0000)]
Import klibc_2.0.6.orig.tar.gz

[dgit import orig klibc_2.0.6.orig.tar.gz]