package/libgcrypt: upstream patch for CVE-2026-41989

This commit patches the following vulnerability:

- CVE-2026-41989:
    Libgcrypt before 1.12.2 sometimes allows a heap-based buffer overflow
    and denial of service via crafted ECDH ciphertext to gcry_pk_decrypt.
    https://www.cve.org/CVERecord?id=CVE-2026-41989

This has already been addressed on the master branch by the package bump
[1].

[1] 93f486ac56 package/libgcrypt: bump version to 1.12.2

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
This commit is contained in:
Thomas Perale
2026-08-13 15:50:00 +02:00
committed by Titouan Christophe
parent 4cc800effe
commit 62afdce87f
2 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
From 2d3d732c9bf87cc10729f69678dd9e6862f99fa3 Mon Sep 17 00:00:00 2001
From: NIIBE Yutaka <gniibe@fsij.org>
Date: Fri, 10 Apr 2026 16:58:57 +0900
Subject: [PATCH] cipher:ecc: Fix decoding a point on Montgomery curve.
* cipher/ecc-misc.c (_gcry_ecc_mont_decodepoint): Fix the padding
mistake and add updating RAWMPILEN.
CVE: CVE-2026-41989
Upstream: https://github.com/gpg/libgcrypt/commit/2d3d732c9bf87cc10729f69678dd9e6862f99fa3
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
--
Reported by Calif.io in collaboration with Claude and Anthropic
Research.
GnuPG-bug-id: 8211
Fixes-commit: bbe15758c893dbf546416c1a6bccdad1ab000ad7
Suggested-by: Bronson Yen <bronson@calif.io>
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
---
cipher/ecc-misc.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/cipher/ecc-misc.c b/cipher/ecc-misc.c
index 615b0df2d..ab3799dcb 100644
--- a/cipher/ecc-misc.c
+++ b/cipher/ecc-misc.c
@@ -438,7 +438,10 @@ _gcry_ecc_mont_decodepoint (gcry_mpi_t pk, mpi_ec_t ec, mpi_point_t result)
*--p = *buf++;
if (rawmpilen < nbytes)
- memset (rawmpi + nbytes - rawmpilen, 0, nbytes - rawmpilen);
+ {
+ memset (rawmpi + rawmpilen, 0, nbytes - rawmpilen);
+ rawmpilen = nbytes;
+ }
}
else
{

View File

@@ -14,6 +14,9 @@ LIBGCRYPT_DEPENDENCIES = libgpg-error
LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config
LIBGCRYPT_CPE_ID_VENDOR = gnupg
# 0002-CVE-2026-41989.patch
LIBGCRYPT_IGNORE_CVES += CVE-2026-41989
# Patching configure.ac and Makefile.am in 0001
LIBGCRYPT_AUTORECONF = YES
LIBGCRYPT_CONF_ENV += GPGRT_CONFIG=$(STAGING_DIR)/usr/bin/gpgrt-config