Re: [Linux-kernel-mentees] [PATCH net] AX.25: Fix out-of-bounds read in ax25_connect()
From: Peilin Ye <hidden>
Date: 2020-07-23 15:15:54
Also in:
linux-hams, linux-kernel-mentees, lkml
From: Peilin Ye <hidden>
Date: 2020-07-23 15:15:54
Also in:
linux-hams, linux-kernel-mentees, lkml
On Wed, Jul 22, 2020 at 05:57:14PM -0700, David Miller wrote:
From: Peilin Ye <redacted> Date: Wed, 22 Jul 2020 11:19:01 -0400quoted
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@syzkaller.appspotmail.com Link: https://syzkaller.appspot.com/bug?id=55ef9d629f3b3d7d70b69558015b63b48d01af66 Signed-off-by: Peilin Ye <redacted>Applied and queued up for -stable, thanks.
Thank you for reviewing my patch! Peilin Ye