Re: [PATCH net] tcp: restrict net.ipv4.tcp_app_win

Kuniyuki Iwashima
2023-04-07T02:20:09Z

From: Jakub Kicinski <kuba@kernel.org>
Date: Thu, 6 Apr 2023 18:59:26 -0700
> On Thu, 6 Apr 2023 14:34:50 +0800 YueHaibing wrote:
> > UBSAN: shift-out-of-bounds in net/ipv4/tcp_input.c:555:23
> > shift exponent 255 is too large for 32-bit type 'int'
> > CPU: 1 PID: 7907 Comm: ssh Not tainted 6.3.0-rc4-00161-g62bad54b26db-dirty #206
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > Call Trace:
> > <TASK>
> > dump_stack_lvl+0x136/0x150
> > __ubsan_handle_shift_out_of_bounds+0x21f/0x5a0
> > tcp_init_transfer.cold+0x3a/0xb9
> > tcp_finish_connect+0x1d0/0x620
> > tcp_rcv_state_process+0xd78/0x4d60
> > tcp_v4_do_rcv+0x33d/0x9d0
> > __release_sock+0x133/0x3b0
> > release_sock+0x58/0x1b0
> >
> > 'maxwin' is int, shifting int for 32 or more bits is undefined behaviour.
> >
> > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
>
> Fixes tag?

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")

It's been broken since the beginning.