]> Gentwo Git Trees - linux/.git/commit
tpm2-sessions: Fix out of range indexing in name_size
authorJarkko Sakkinen <jarkko@kernel.org>
Sun, 30 Nov 2025 19:07:12 +0000 (21:07 +0200)
committerJarkko Sakkinen <jarkko@kernel.org>
Fri, 5 Dec 2025 04:31:07 +0000 (06:31 +0200)
commit6e9722e9a7bfe1bbad649937c811076acf86e1fd
treeab3afbe3314ef181ed8fe0b32f6d2e1932fb23e1
parent2061f18ad76ecaddf8ed17df81b8611ea88dbddd
tpm2-sessions: Fix out of range indexing in name_size

'name_size' does not have any range checks, and it just directly indexes
with TPM_ALG_ID, which could lead into memory corruption at worst.

Address the issue by only processing known values and returning -EINVAL for
unrecognized values.

Make also 'tpm_buf_append_name' and 'tpm_buf_fill_hmac_session' fallible so
that errors are detected before causing any spurious TPM traffic.

End also the authorization session on failure in both of the functions, as
the session state would be then by definition corrupted.

Cc: stable@vger.kernel.org # v6.10+
Fixes: 1085b8276bb4 ("tpm: Add the rest of the session HMAC API")
Reviewed-by: Jonathan McDowell <noodles@meta.com>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
drivers/char/tpm/tpm2-cmd.c
drivers/char/tpm/tpm2-sessions.c
include/linux/tpm.h
security/keys/trusted-keys/trusted_tpm2.c