diff options
Diffstat (limited to 'dev-libs/openssl/files/openssl-3.1.0-CVE-2023-1255.patch')
-rw-r--r-- | dev-libs/openssl/files/openssl-3.1.0-CVE-2023-1255.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/dev-libs/openssl/files/openssl-3.1.0-CVE-2023-1255.patch b/dev-libs/openssl/files/openssl-3.1.0-CVE-2023-1255.patch new file mode 100644 index 000000000000..aea425f83556 --- /dev/null +++ b/dev-libs/openssl/files/openssl-3.1.0-CVE-2023-1255.patch @@ -0,0 +1,40 @@ +commit bc2f61ad70971869b242fc1cb445b98bad50074a +Author: Tomas Mraz <tomas@openssl.org> +Date: Mon Apr 17 16:51:20 2023 +0200 + + 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) + +diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl +index ea74217317..efd3ccd1a4 100755 +--- a/crypto/aes/asm/aesv8-armx.pl ++++ b/crypto/aes/asm/aesv8-armx.pl +@@ -3367,7 +3367,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 +@@ -3376,6 +3376,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: |