|
libgcrypt20 (1.9.4-3ubuntu3.3) jammy-security; urgency=medium
* SECURITY UPDATE: timing-based side-channel flaw in RSA implementation
- debian/patches/CVE-2024-2236-pre01.patch: rsa: Fix decoding of PKCS#1 v1.5
and OAEP padding. in cipher/rsa-common.c, cipher/rsa.c, src/Makefile.am,
src/const-time.c, src/const-time.h.
- debian/patches/CVE-2024-2236-pre02.patch: const-time: Use ct_not_memequal,
instead. Tested with AVR. in cipher/rsa-common.c, src/const-time.c,
src/const-time.h.
- debian/patches/CVE-2024-2236-pre03.patch: const-time: always avoid
comparison operator for byte comparison in src/const-time.h.
- debian/patches/CVE-2024-2236-pre04.patch: const-time: Add ct_memmov_cond,
fix _gcry_mpih_set_cond. in mpi/mpih-const-time.c, src/const-time.c,
src/const-time.h.
- debian/patches/CVE-2024-2236-pre05.patch: Use single constant-time memory
comparison implementation in cipher/bufhelp.h, src/const-time.c,
src/const-time.h.
- debian/patches/CVE-2024-2236-pre06.patch: cipher: Fix ElGamal decryption.
in cipher/elgamal.c, cipher/rsa.c.
- debian/patches/CVE-2024-2236-pre07.patch: rsa, elgamal: avoid logical not
operator in constant-time code in cipher/elgamal.c, cipher/rsa-common.c,
cipher/rsa.c, src/const-time.c, src/const-time.h.
- debian/patches/CVE-2024-2236-pre08.patch: rsa: Use memmov_independently
when unpadding. in cipher/rsa-common.c.
- debian/patches/CVE-2024-2236-pre09.patch: const-time: prefix global
symbols with _gcry_ in src/const-time.c, src/const-time.h.
- debian/patches/CVE-2024-2236-pre10.patch: const-time: ct_memmov_cond:
switch to use dual mask approach in src/const-time.c.
- debian/patches/CVE-2024-2236-pre11.patch: mpih_set_cond: restore EM
leakage mitigation in mpi/mpih-const-time.c.
- debian/patches/CVE-2024-2236-pre12.patch: mpih-const-time: use global
vzero/vone variable in mpi/mpih-const-time.c.
- debian/patches/CVE-2024-2236-pre13.patch: mpih_cmp_ui: avoid unintentional
conditional branch in mpi/mpi-internal.h, mpi/mpih-const-time.c.
- debian/patches/CVE-2024-2236-pre14.patch: mpiutil: use global vone and
vzero in mpi/mpiutil.c.
- debian/patches/CVE-2024-2236-pre15.patch: const-time: add functions for
generating masks from 0/1 input in mpi/mpi-internal.h, mpi/mpih-const-
time.c, mpi/mpiutil.c, src/const-time.c, src/const-time.h.
- debian/patches/CVE-2024-2236-pre16.patch: mpih-const-time: use constant-
time comparisons conditional add/sub/abs in mpi/mpih-const-time.c.
- debian/patches/CVE-2024-2236-pre17.patch: mpih_mod: avoid unintentional
conditional branch in mpi/mpih-const-time.c.
- debian/patches/CVE-2024-2236-pre18.patch: mpi: Fix for 64-bit for
_gcry_mpih_cmp_ui. in mpi/mpih-const-time.c.
- debian/patches/CVE-2024-2236-pre19.patch: addm/subm/mulm: fix case when
destination is same MPI as divider in mpi/mpi-add.c, mpi/mpi-mul.c,
tests/mpitests.c.
- debian/patches/CVE-2024-2236-1.patch: rsa: Do not accept invalid PKCS#1.5
padding when deciphering in cipher/rsa-common.c, src/const-time.h.
- debian/patches/CVE-2024-2236-2.patch: rsa: Constant time blinding removal
in cipher/rsa.c, configure.ac, mpi/Makefile.am, mpi/mpi-internal.h,
mpi/mpi-mul-cs.c, mpi/mpi-mul.c, src/gcrypt-int.h.
- debian/patches/CVE-2024-2236-3.patch: Constant time conversion of the
message to the SEXP in cipher/rsa.c, src/const-time.c, src/const-time.h,
src/sexp.c.
- debian/patches/CVE-2024-2236-4.patch: rsa: Implement constant-time
conversion of MPI to string in cipher/rsa-common.c.
- debian/patches/CVE-2024-2236-5.patch: cipher: Use the constant time
conversion also for OAEP in cipher/rsa-common.c, cipher/rsa.c.
- debian/patches/CVE-2024-2236-6.patch: Implement implicit rejection for
PKCS#1.5 decipher in cipher/pubkey-internal.h, cipher/pubkey-util.c,
cipher/rsa-common.c, cipher/rsa.c, src/cipher.h, src/const-time.c,
src/const-time.h, tests/pkcs1v2-v15c.h, tests/pkcs1v2.c.
- debian/rules: build with --enable-marvin-workaround.
- Thanks for Red Hat for the patches!
- CVE-2024-2236
-- Marc Deslauriers Tue, 25 Aug 2026 08:56:33 -0400
|