[SRU][J/N][PATCH 1/1] crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec
Ian Whitfield
ian.whitfield at canonical.com
Thu Feb 5 23:51:55 UTC 2026
From: Taeyang Lee <0wn at theori.io>
authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than
the minimum expected length, crypto_authenc_esn_decrypt() can advance past
the end of the destination scatterlist and trigger a NULL pointer dereference
in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).
Add a minimum AAD length check to fail fast on invalid inputs.
Fixes: 104880a6b470 ("crypto: authencesn - Convert to new AEAD interface")
Reported-By: Taeyang Lee <0wn at theori.io>
Signed-off-by: Taeyang Lee <0wn at theori.io>
Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
(cherry picked from commit 2397e9264676be7794f8f7f1e9763d90bd3c7335)
CVE-2026-23060
Signed-off-by: Ian Whitfield <ian.whitfield at canonical.com>
---
crypto/authencesn.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/crypto/authencesn.c b/crypto/authencesn.c
index b60e61b1904cb..6487b35851d54 100644
--- a/crypto/authencesn.c
+++ b/crypto/authencesn.c
@@ -191,6 +191,9 @@ static int crypto_authenc_esn_encrypt(struct aead_request *req)
struct scatterlist *src, *dst;
int err;
+ if (assoclen < 8)
+ return -EINVAL;
+
sg_init_table(areq_ctx->src, 2);
src = scatterwalk_ffwd(areq_ctx->src, req->src, assoclen);
dst = src;
@@ -284,6 +287,9 @@ static int crypto_authenc_esn_decrypt(struct aead_request *req)
u32 tmp[2];
int err;
+ if (assoclen < 8)
+ return -EINVAL;
+
cryptlen -= authsize;
if (req->src != dst) {
--
2.43.0
More information about the kernel-team
mailing list