[Linux-kernel-mentees] [PATCH net] AX.25: Fix out-of-bounds read in ax25_connect()
davem at davemloft.net
Thu Jul 23 00:57:14 UTC 2020
From: Peilin Ye <yepeilin.cs at gmail.com>
Date: Wed, 22 Jul 2020 11:19:01 -0400
> Checks on `addr_len` and `fsa->fsa_ax25.sax25_ndigis` are insufficient.
> ax25_connect() can go out of bounds when `fsa->fsa_ax25.sax25_ndigis`
> equals to 7 or 8. Fix it.
> This issue has been reported as a KMSAN uninit-value bug, because in such
> a case, ax25_connect() reaches into the uninitialized portion of the
> `struct sockaddr_storage` statically allocated in __sys_connect().
> It is safe to remove `fsa->fsa_ax25.sax25_ndigis > AX25_MAX_DIGIS` because
> `addr_len` is guaranteed to be less than or equal to
> `sizeof(struct full_sockaddr_ax25)`.
> Reported-by: syzbot+c82752228ed975b0a623 at syzkaller.appspotmail.com
> Link: https://syzkaller.appspot.com/bug?id=55ef9d629f3b3d7d70b69558015b63b48d01af66
> Signed-off-by: Peilin Ye <yepeilin.cs at gmail.com>
Applied and queued up for -stable, thanks.
More information about the Linux-kernel-mentees