ALSA: pcm: oss: Fix setup list UAF on proc write error
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.93, 6.18.35, 7.0.12
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: oss: Fix setup list UAF on proc write error snd_pcm_oss_proc_write() links a newly allocated setup entry into the OSS setup list before duplicating the task name. If the task-name allocation fails, the error path frees the already linked entry and leaves setup_list pointing at freed memory. A later OSS device open can then walk the stale list entry in snd_pcm_oss_look_for_setup() and dereference freed memory. Allocate the task name and initialize the setup entry before publishing the entry on setup_list. Also fetch the initial proc read iterator only after taking setup_mutex, so all setup_list traversal follows the same list lifetime rules.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 060d77b9c04acd7aef60790398a53f731db8c8fe · fixed in d9df965284abde27ba6bfbdfc8407697cf6802f1; From 060d77b9c04acd7aef60790398a53f731db8c8fe · fixed in 8be4efd0dc0093eb7a02ad1aac936bca2a1f04ce; From 060d77b9c04acd7aef60790398a53f731db8c8fe · fixed in e13922bb97b4e6f94f8ac02d034f2d4bd65eeb3c; From 060d77b9c04acd7aef60790398a53f731db8c8fe · fixed in be387230dc22d870afd0e5d35912b07c2bc323bd; From 060d77b9c04acd7aef60790398a53f731db8c8fe · fixed in 4cc54bdd54b337e77115be5b55577d1c58608eae
- Linux Linux
2.6.17
- KernelLinux
From 2.6.17 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.93; From 6.13.0 · fixed in 6.18.35; From 6.19.0 · fixed in 7.0.12