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.