Re: [alsa-devel] usb/sound: slab-out-of-bounds in parse_audio_unit

From: Takashi Iwai
Date: Tue Nov 21 2017 - 11:26:55 EST


On Tue, 21 Nov 2017 14:51:56 +0100,
Andrey Konovalov wrote:
>
> Hi!
>
> I've got the following report while fuzzing the kernel with syzkaller.
>
> On commit e1d1ea549b57790a3d8cf6300e6ef86118d692a3 (4.15-rc1).
>
> ==================================================================
> BUG: KASAN: slab-out-of-bounds in parse_audio_unit+0x2e08/0x31d0
> Read of size 1 at addr ffff88006998ff20 by task kworker/1:1/1495
>
> CPU: 1 PID: 1495 Comm: kworker/1:1 Not tainted 4.14.0-57501-g9284d204d604 #119
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> Workqueue: usb_hub_wq hub_event
> Call Trace:
> __dump_stack lib/dump_stack.c:17
> dump_stack+0xe1/0x157 lib/dump_stack.c:53
> print_address_description+0x71/0x234 mm/kasan/report.c:252
> kasan_report_error mm/kasan/report.c:351
> kasan_report+0x173/0x270 mm/kasan/report.c:409
> __asan_report_load1_noabort+0x19/0x20 mm/kasan/report.c:427
> parse_audio_feature_unit sound/usb/mixer.c:1472

Looks like that a malformed feature unit descriptor is passed while
the usb-audio driver is too naive to believe in a perfect world.
I'll provide a fix patch.


thanks,

Takashi