Re: [PATCH] crypto: caam - reject overlong RSA CRT parameters

From: Jérémy Jean

Date: Sat Oct 03 2026 - 17:22:21 EST


On 2026-08-26 02:21, Herbert Xu wrote:
On Mon, Aug 10, 2026 at 03:40:24PM +0000, Jérémy Jean wrote:
caam_read_rsa_crt() right-aligns dP, dQ, and qInv in buffers sized
from the corresponding prime. rsa_parse_priv_key() only bounds these
integers against n, so a malformed key can provide, for example, a
two-byte dP with a one-byte p. dstlen - nbytes then underflows and
memcpy() writes outside the allocation during set_priv_key(). KASAN
reports a slab-out-of-bounds write in caam_read_rsa_crt().

Reject empty or overlong CRT parameters after stripping leading zeros.
qInv is consumed by CAAM as a p-sized value, so size it from p rather
than q to match the DMA mapping in set_rsa_priv_f3_pdb(). Let the
top-level key cleanup handle partial form-3 allocations and return the
specific error to the caller.

Also test nbytes before dereferencing it while stripping zeros, so an
all-zero integer does not read one byte beyond its input.

Fixes: 4a651b122adb ("crypto: caam - add support for RSA key form 3")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: Codex:gpt-5
Signed-off-by: Jérémy Jean <Jeremy.Jean@xxxxxxxxxxxxxxxxx>
---
drivers/crypto/caam/caampkc.c | 69 +++++++++++++++--------------------
1 file changed, 30 insertions(+), 39 deletions(-)

Is this driver still maintained? If not let's just remove it.

Thanks,

Hello,

I don't know for sure, but it is still getting fixed, e.g.,
https://lore.kernel.org/all/FF2F0DC4D3930E6A+20260923101457.204629-1-zhaojinming@xxxxxxxxxxxxx/

Regards,
Jérémy