mirror of
https://github.com/feather-wallet/feather.git
synced 2024-12-24 12:39:51 +00:00
44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
From 02ac9c9420275868472f33b01def01218742b8bb Mon Sep 17 00:00:00 2001
|
|
From: Tomas Mraz <tomas@openssl.org>
|
|
Date: Mon, 17 Apr 2023 16:51:20 +0200
|
|
Subject: [PATCH] aesv8-armx.pl: Avoid buffer overrread in AES-XTS decryption
|
|
|
|
Original author: Nevine Ebeid (Amazon)
|
|
Fixes: CVE-2023-1255
|
|
|
|
The buffer overread happens on decrypts of 4 mod 5 sizes.
|
|
Unless the memory just after the buffer is unmapped this is harmless.
|
|
|
|
Reviewed-by: Paul Dale <pauli@openssl.org>
|
|
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
|
|
(Merged from https://github.com/openssl/openssl/pull/20759)
|
|
|
|
(cherry picked from commit 72dfe46550ee1f1bbfacd49f071419365bc23304)
|
|
---
|
|
crypto/aes/asm/aesv8-armx.pl | 4 +++-
|
|
3 files changed, 16 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl
|
|
index 6a7bf05d1b..bd583e2c89 100755
|
|
--- a/crypto/aes/asm/aesv8-armx.pl
|
|
+++ b/crypto/aes/asm/aesv8-armx.pl
|
|
@@ -3353,7 +3353,7 @@ $code.=<<___ if ($flavour =~ /64/);
|
|
.align 4
|
|
.Lxts_dec_tail4x:
|
|
add $inp,$inp,#16
|
|
- vld1.32 {$dat0},[$inp],#16
|
|
+ tst $tailcnt,#0xf
|
|
veor $tmp1,$dat1,$tmp0
|
|
vst1.8 {$tmp1},[$out],#16
|
|
veor $tmp2,$dat2,$tmp2
|
|
@@ -3362,6 +3362,8 @@ $code.=<<___ if ($flavour =~ /64/);
|
|
veor $tmp4,$dat4,$tmp4
|
|
vst1.8 {$tmp3-$tmp4},[$out],#32
|
|
|
|
+ b.eq .Lxts_dec_abort
|
|
+ vld1.32 {$dat0},[$inp],#16
|
|
b .Lxts_done
|
|
.align 4
|
|
.Lxts_outer_dec_tail:
|
|
--
|
|
2.40.1
|