mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 07:51:59 -09:00
package/botan: security bump to version 3.11.1
- Update BOTAN_VERSION to 3.11.1 - Remove 0001-Add-more-value-barriers-to-avoid-compiler-induced-side-channels.patch as it is already integrated upstream in this version. Fixed in 3.11.1: - CVE-2026-34580: Resolve certificate verification bypass bug introduced in 3.11.0 (GH #5500) - CVE-2026-34582: Resolve TLS 1.3 client authentication bypass (GH #5599) Fixed in 3.11.0: - CVE-2026-32877: Fix a heap over-read during SM2 decryption (GH #5450) - CVE-2026-32883: Fix an OCSP response forgery vulnerability (GH #5449) - CVE-2026-32884: Fix a name constraints bypass for DNS names (GH #5448) - Remove the --disable-altivec configuration option as it has been removed from the Botan build system in version 3.x - Optimize the --disable-neon logic using the yx pattern. In Botan 3.x, the --disable-neon flag is specifically targeted at the arm32 architecture. Furthermore, Buildroot's BR2_ARM_CPU_HAS_NEON variable is only defined for 32-bit ARM, which previously caused a false-positive --disable-neon flag to be passed on AArch64 builds - Update license.txt hash in botan.hash due to the copyright year update to 2026 https://botan.randombit.net/news.html#version-3-11-1-2026-03-31 Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com> [Julien: fix CVE numbers in commit log] Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
8ff577bb35
commit
402c94c2d7
@@ -1,65 +0,0 @@
|
||||
From 53b0cfde580e86b03d0d27a488b6c134f662e957 Mon Sep 17 00:00:00 2001
|
||||
From: Jack Lloyd <jack@randombit.net>
|
||||
Date: Sat, 19 Oct 2024 07:43:18 -0400
|
||||
Subject: [PATCH] Add more value barriers to avoid compiler induced side
|
||||
channels
|
||||
|
||||
The paper https://arxiv.org/pdf/2410.13489 claims that on specific
|
||||
architectures Clang and GCC may introduce jumps here. The donna128
|
||||
issues only affect 32-bit processors, which explains why we would not
|
||||
see it in the x86-64 valgrind runs.
|
||||
|
||||
The GHASH leak would seem to be generic but the authors only observed
|
||||
it on RISC-V.
|
||||
|
||||
CVE: CVE-2024-50382
|
||||
CVE: CVE-2024-50383
|
||||
Upstream: https://github.com/randombit/botan/commit/53b0cfde580e86b03d0d27a488b6c134f662e957
|
||||
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
|
||||
---
|
||||
src/lib/utils/donna128.h | 5 +++--
|
||||
src/lib/utils/ghash/ghash.cpp | 2 +-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/lib/utils/donna128.h b/src/lib/utils/donna128.h
|
||||
index 8212bd349e0..7adf54546df 100644
|
||||
--- a/src/lib/utils/donna128.h
|
||||
+++ b/src/lib/utils/donna128.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#ifndef BOTAN_CURVE25519_DONNA128_H_
|
||||
#define BOTAN_CURVE25519_DONNA128_H_
|
||||
|
||||
+#include <botan/internal/ct_utils.h>
|
||||
#include <botan/internal/mul128.h>
|
||||
#include <type_traits>
|
||||
|
||||
@@ -73,14 +74,14 @@ class donna128 final {
|
||||
l += x.l;
|
||||
h += x.h;
|
||||
|
||||
- const uint64_t carry = (l < x.l);
|
||||
+ const uint64_t carry = CT::Mask<uint64_t>::is_lt(l, x.l).if_set_return(1);
|
||||
h += carry;
|
||||
return *this;
|
||||
}
|
||||
|
||||
constexpr donna128& operator+=(uint64_t x) {
|
||||
l += x;
|
||||
- const uint64_t carry = (l < x);
|
||||
+ const uint64_t carry = CT::Mask<uint64_t>::is_lt(l, x).if_set_return(1);
|
||||
h += carry;
|
||||
return *this;
|
||||
}
|
||||
diff --git a/src/lib/utils/ghash/ghash.cpp b/src/lib/utils/ghash/ghash.cpp
|
||||
index 8c3b1ed6c2a..61b28590002 100644
|
||||
--- a/src/lib/utils/ghash/ghash.cpp
|
||||
+++ b/src/lib/utils/ghash/ghash.cpp
|
||||
@@ -131,7 +131,7 @@ void GHASH::key_schedule(std::span<const uint8_t> key) {
|
||||
m_HM[4 * j + 2 * i + 1] = H1;
|
||||
|
||||
// GCM's bit ops are reversed so we carry out of the bottom
|
||||
- const uint64_t carry = R * (H1 & 1);
|
||||
+ const uint64_t carry = CT::Mask<uint64_t>::expand(H1 & 1).if_set_return(R);
|
||||
H1 = (H1 >> 1) | (H0 << 63);
|
||||
H0 = (H0 >> 1) ^ carry;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# From https://botan.randombit.net/releases/sha256sums.txt
|
||||
sha256 67e8dae1ca2468d90de4e601c87d5f31ff492b38e8ab8bcbd02ddf7104ed8a9f Botan-3.5.0.tar.xz
|
||||
sha256 c1cd7152519f4188591fa4f6ddeb116bc1004491f5f3c58aa99b00582eb8a137 Botan-3.11.1.tar.xz
|
||||
# Locally computed
|
||||
sha256 db9168bdccaaea26557094436652577cc9bf43164e8be078d88aef1342fe4fb6 license.txt
|
||||
sha256 758ea6b4a65d5611bf79c24920f92473ef44bdde0b3b97fa578470a0ffc34f14 license.txt
|
||||
|
||||
@@ -4,16 +4,13 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BOTAN_VERSION = 3.5.0
|
||||
BOTAN_VERSION = 3.11.1
|
||||
BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tar.xz
|
||||
BOTAN_SITE = http://botan.randombit.net/releases
|
||||
BOTAN_LICENSE = BSD-2-Clause
|
||||
BOTAN_LICENSE_FILES = license.txt
|
||||
BOTAN_CPE_ID_VALID = YES
|
||||
|
||||
# 0001-Add-more-value-barriers-to-avoid-compiler-induced-side-channels.patch
|
||||
BOTAN_IGNORE_CVES += CVE-2024-50382 CVE-2024-50383
|
||||
|
||||
BOTAN_INSTALL_STAGING = YES
|
||||
|
||||
BOTAN_DEPENDENCIES = host-python3
|
||||
@@ -91,11 +88,7 @@ BOTAN_DEPENDENCIES += zlib
|
||||
BOTAN_CONF_OPTS += --with-zlib
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),)
|
||||
BOTAN_CONF_OPTS += --disable-altivec
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_ARM_CPU_HAS_NEON),)
|
||||
ifeq ($(BR2_arm)x$(BR2_ARM_CPU_HAS_NEON),yx)
|
||||
BOTAN_CONF_OPTS += --disable-neon
|
||||
endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user