Bug 1311560 (CVE-2016-2545)

Summary: CVE-2016-2545 kernel: sound: use-after-free in snd_timer_interrupt
Product: [Other] Security Response Reporter: Andrej Nemec <anemec>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: agordeev, aquini, arm-mgr, bhu, dhoward, esammons, fhrbata, gansalmon, iboverma, itamar, jforbes, jkacur, joelsmith, jonathan, jross, jwboyer, kernel-maint, kernel-mgr, kstutsma, lgoncalv, lwang, madhu.chinakonda, matt, mchehab, mcressma, mguzik, nmurray, pholasek, plougher, rt-maint, rvrbovsk, vdronov, williams
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-06 10:43:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1311573    
Bug Blocks: 1311575    

Description Andrej Nemec 2016-02-24 13:10:42 UTC
ALSA timer instance object has a couple of linked lists and they are unlinked unconditionally at snd_timer_stop(). Meanwhile snd_timer_interrupt() unlinks it, but it calls list_del() which leaves the element list itself unchanged. This ends up with unlinking twice, and it was caught by syzkaller fuzzer.

Upstream patch:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ee8413b01045c74340aa13ad5bdf905de32be736

CVE-ID request and assignment:

http://seclists.org/oss-sec/2016/q1/133

http://seclists.org/oss-sec/2016/q1/410

Comment 1 Josh Boyer 2016-02-24 13:48:42 UTC
This was fixed with 4.3.5 with:

commit baa3a675b24fe17d5e514d71561d97f46bc6086f
Author: Takashi Iwai <tiwai>
Date:   Wed Jan 13 21:35:06 2016 +0100

    ALSA: timer: Fix double unlink of active_list
    
    commit ee8413b01045c74340aa13ad5bdf905de32be736 upstream.

and in 4.4.1 with:

commit 3c0e535fee2e67d06220e676cbf7b69099d741ce
Author: Takashi Iwai <tiwai>
Date:   Wed Jan 13 21:35:06 2016 +0100

    ALSA: timer: Fix double unlink of active_list
    
    commit ee8413b01045c74340aa13ad5bdf905de32be736 upstream.
    

All Fedora branches are on those or newer.  This issue is solved in Fedora.

Comment 3 Vladis Dronov 2016-03-06 10:43:30 UTC
Statement:

This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 5, 6, 7 and MRG-2. This has been rated as having Low security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/.