Commit cc5d5908 authored by Olga Kornievskaia's avatar Olga Kornievskaia Committed by Trond Myklebust
Browse files

sunrpc: fix client side handling of tls alerts



A security exploit was discovered in NFS over TLS in tls_alert_recv
due to its assumption that there is valid data in the msghdr's
iterator's kvec.

Instead, this patch proposes the rework how control messages are
setup and used by sock_recvmsg().

If no control message structure is setup, kTLS layer will read and
process TLS data record types. As soon as it encounters a TLS control
message, it would return an error. At that point, NFS can setup a kvec
backed control buffer and read in the control message such as a TLS
alert. Scott found that a msg iterator can advance the kvec pointer
as a part of the copy process thus we need to revert the iterator
before calling into the tls_alert_recv.

Fixes: dea034b9 ("SUNRPC: Capture CMSG metadata on client-side receive")
Suggested-by: default avatarTrond Myklebust <trondmy@hammerspace.com>
Suggested-by: default avatarScott Mayhew <smayhew@redhat.com>
Signed-off-by: default avatarOlga Kornievskaia <okorniev@redhat.com>
Link: https://lore.kernel.org/r/20250731180058.4669-3-okorniev@redhat.com


Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 533210f2
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment