mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable.git
synced 2025-09-28 17:40:21 +10:00
crypto: algif_hash - fix double free in hash_accept
If accept(2) is called on socket type algif_hash with
MSG_MORE flag set and crypto_ahash_import fails,
sk2 is freed. However, it is also freed in af_alg_release,
leading to slab-use-after-free error.
Fixes: fe869cdb89
("crypto: algif_hash - User-space interface for hash operations")
Cc: <stable@vger.kernel.org>
Signed-off-by: Ivan Pravdin <ipravdin.official@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
d6ebcde6d4
commit
b2df03ed40
@ -265,10 +265,6 @@ static int hash_accept(struct socket *sock, struct socket *newsock,
|
|||||||
goto out_free_state;
|
goto out_free_state;
|
||||||
|
|
||||||
err = crypto_ahash_import(&ctx2->req, state);
|
err = crypto_ahash_import(&ctx2->req, state);
|
||||||
if (err) {
|
|
||||||
sock_orphan(sk2);
|
|
||||||
sock_put(sk2);
|
|
||||||
}
|
|
||||||
|
|
||||||
out_free_state:
|
out_free_state:
|
||||||
kfree_sensitive(state);
|
kfree_sensitive(state);
|
||||||
|
Loading…
Reference in New Issue
Block a user