Commit b2df03ed authored by Ivan Pravdin's avatar Ivan Pravdin Committed by Herbert Xu
Browse files

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: fe869cdb ("crypto: algif_hash - User-space interface for hash operations")
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarIvan Pravdin <ipravdin.official@gmail.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent d6ebcde6
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -265,10 +265,6 @@ static int hash_accept(struct socket *sock, struct socket *newsock,
		goto out_free_state;

	err = crypto_ahash_import(&ctx2->req, state);
	if (err) {
		sock_orphan(sk2);
		sock_put(sk2);
	}

out_free_state:
	kfree_sensitive(state);