Re: [PATCH] ALSA: control: Fix an out-of-bounds bug in get_ctl_id_hash()

From: Takashi Iwai
Date: Wed Aug 24 2022 - 05:42:31 EST


On Wed, 24 Aug 2022 10:16:54 +0200,
Zheyu Ma wrote:
>
> Since the user can control the arguments provided to the kernel by the
> ioctl() system call, an out-of-bounds bug occurs when the 'id->name'
> provided by the user does not end with '\0'.
>
> The following log can reveal it:
>
> [ 10.002313] BUG: KASAN: stack-out-of-bounds in snd_ctl_find_id+0x36c/0x3a0
> [ 10.002895] Read of size 1 at addr ffff888109f5fe28 by task snd/439
> [ 10.004934] Call Trace:
> [ 10.007140] snd_ctl_find_id+0x36c/0x3a0
> [ 10.007489] snd_ctl_ioctl+0x6cf/0x10e0
>
> Fix this by checking the bound of 'id->name' in the loop.
>
> Fixes: c27e1efb61c5 ("ALSA: control: Use xarray for faster lookups")
> Signed-off-by: Zheyu Ma <zheyuma97@xxxxxxxxx>

Thanks, applied now.


Takashi