From: Herbert Xu Date: Thu, 30 Apr 2026 06:36:04 +0000 (-0700) Subject: crypto: algif_aead - Fix minimum RX size check for decryption X-Git-Tag: v5.15.204~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd427dd84f224309afbcc2cb67c7bb770a01265c;p=thirdparty%2Fkernel%2Fstable.git crypto: algif_aead - Fix minimum RX size check for decryption commit 3d14bd48e3a77091cbce637a12c2ae31b4a1687c upstream. The check for the minimum receive buffer size did not take the tag size into account during decryption. Fix this by adding the required extra length. Reported-by: syzbot+aa11561819dc42ebbc7c@syzkaller.appspotmail.com Reported-by: Daniel Pouzzner Fixes: d887c52d6ae4 ("crypto: algif_aead - overhaul memory management") Signed-off-by: Herbert Xu Signed-off-by: Eric Biggers Signed-off-by: Greg Kroah-Hartman --- diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c index 24e77f4968a6..4a285994d106 100644 --- a/crypto/algif_aead.c +++ b/crypto/algif_aead.c @@ -150,7 +150,7 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg, if (usedpages < outlen) { size_t less = outlen - usedpages; - if (used < less) { + if (used < less + (ctx->enc ? 0 : as)) { err = -EINVAL; goto free; }