linux/security/keys/trusted-keys
Jarkko Sakkinen 47e676ce4d tpm2-sessions: Fix out of range indexing in name_size
commit 6e9722e9a7 upstream.

'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: 1085b8276b ("tpm: Add the rest of the session HMAC API")
Reviewed-by: Jonathan McDowell <noodles@meta.com>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-17 16:31:29 +01:00
..
Kconfig KEYS: trusted: Introduce NXP DCP-backed trusted keys 2024-05-09 18:29:03 +03:00
Makefile KEYS: trusted: Introduce NXP DCP-backed trusted keys 2024-05-09 18:29:03 +03:00
tpm2key.asn1 security: keys: trusted: use ASN.1 TPM2 key format for the blobs 2021-04-14 16:30:30 +03:00
trusted_caam.c KEYS: trusted: Introduce support for NXP CAAM-based trusted keys 2022-05-23 18:47:50 +03:00
trusted_core.c KEYS: trusted: add missing MODULE_DESCRIPTION() 2024-07-01 14:16:54 +00:00
trusted_dcp.c KEYS: trusted: dcp: fix improper sg use with CONFIG_VMAP_STACK=y 2025-02-17 10:05:09 +01:00
trusted_tee.c KEYS: trusted: tee: Refactor register SHM usage 2023-10-24 03:06:35 +03:00
trusted_tpm1.c KEYS: trusted_tpm1: Compare HMAC values in constant time 2025-10-19 16:33:51 +02:00
trusted_tpm2.c tpm2-sessions: Fix out of range indexing in name_size 2026-01-17 16:31:29 +01:00