Thread (4 messages) 4 messages, 2 authors, 2025-10-23

Re: [PATCH] net: sctp: fix KMSAN uninit-value in sctp_inq_pop

From: Xin Long <lucien.xin@gmail.com>
Date: 2025-10-23 16:56:15
Also in: linux-sctp, lkml

On Thu, Oct 23, 2025 at 5:52 AM Ranganath V N [off-list ref] wrote:
Fix an issue detected by syzbot:

KMSAN reported an uninitialized-value access in sctp_inq_pop
Hi, Ranganath,

The issue is actually caused by skb trimming via sk_filter() in sctp_rcv().
In the reproducer, skb->len becomes 1 after sk_filter(), which bypassed the
original check:

        if (skb->len < sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr) +
                       skb_transport_offset(skb))

(TBH, I didn't expect it would allow BPF to trim skb in sk_filter().)

To handle this safely, a new check should be performed after sk_filter() like:

+       if (sk_filter(sk, skb) || skb->len < sizeof(struct sctp_chunkhdr))
                goto discard_release;

Could you please proceed with this change in sctp_rcv()?

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help