Headline
CVE-2022-3170: ALSA: control: Fix an out-of-bounds bug in get_ctl_id_hash() · torvalds/linux@6ab55ec
An out-of-bounds access issue was found in the Linux kernel sound subsystem. It could occur when the ‘id->name’ provided by the user did not end with '\0’. A privileged local user could pass a specially crafted name through ioctl() interface and crash the system or potentially escalate their privileges on the system.
Permalink
Browse files
ALSA: control: Fix an out-of-bounds bug in get_ctl_id_hash()
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: c27e1ef (“ALSA: control: Use xarray for faster lookups”) Signed-off-by: Zheyu Ma [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai [email protected]
- Loading branch information