Bug 1743591 (CVE-2019-15214)

Summary: CVE-2019-15214 kernel: use-after-free in sound/core/init.c and sound/core/info.c
Product: [Other] Security Response Reporter: Dhananjay Arunesh <darunesh>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: acaringi, airlied, bhu, blc, brdeoliv, bskeggs, dhoward, dvlasenk, esammons, fhrbata, hdegoede, hkrzesin, iboverma, ichavero, itamar, jarodwilson, jeremy, jforbes, jlelli, john.j5live, jonathan, josef, jross, jshortt, jstancek, jwboyer, kernel-maint, kernel-mgr, lgoncalv, linville, masami256, mchehab, mcressma, mjg59, mlangsdo, nmurray, rt-maint, rvrbovsk, steved, williams
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
A vulnerability was found in the Linux kernel’s core sound driver code. A use-after-free in a race condition between disconnection events could allow a local attacker who can trigger disconnection events (remove or add hardware) to crash the system, corrupt memory, or escalate privileges.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-27 10:48:22 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: 1743592, 1809900, 1809901, 1809902, 1809903, 1809904    
Bug Blocks: 1743593    

Description Dhananjay Arunesh 2019-08-20 09:18:31 UTC
A vulnerability was found in the Linux kernel. There is a use-after-free in the sound subsystem because card disconnection causes certain data structures to be deleted too early. This is related to sound/core/init.c and sound/core/info.c.
 
Reference:
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.0.10
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a3f7221acddfe1caa9ff09b3a8158c39b2fdeac
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8c2f870890fd28e023b0fcf49dcee333f2c8bad7
https://syzkaller.appspot.com/bug?id=75903e0021cef79bc434d068b5169b599b2a46a9

Comment 1 Dhananjay Arunesh 2019-08-20 09:19:13 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1743592]

Comment 2 Justin M. Forbes 2019-08-20 12:51:00 UTC
This was fixed for Fedora with the 5.0.10 stable updates.

Comment 5 Wade Mealing 2020-03-04 06:21:03 UTC
Mitigation:


As the snd module will be auto-loaded when required, its use can be disabled  by preventing the module from loading with the following instructions:

# echo "install snd /bin/true" >> /etc/modprobe.d/disable-snd.conf 
 
The system will need to be restarted if the snd modules are loaded. In most circumstances, the snd kernel modules will be unable to be unloaded while they are is in use.

If the system requires this module to work correctly, this mitigation may not be suitable.

If you need further assistance, see KCS article https://access.redhat.com/solutions/41278 or contact Red Hat Global Support Services.

Comment 6 Wade Mealing 2020-03-04 06:38:36 UTC
So, it looks as though this flaw requires more privledges than a local account to trigger.  It requires an ability to race a register and disconnect (likely of the same device) functions which means that this needs to be a hotpluggable device.  The attacker would also need a local account that is ready to exploit the race on the system.

For this reason, I'm not convinced its rated as "Important" but I'm rating this as moderate with a reccomendation that it be fixed.