CVE-2026-90198 — ALSA: core: Fix use-after-free in snd_card_do_free()
In the Linux kernel, the following vulnerability has been resolved: ALSA: core: Fix use-after-free in snd_card_do_free() A use-after-free was detected in snd_card_do_free() when a sound card managed by devres is unbound while a user-space application still holds an open file descriptor. For managed cards, the memory is allocated using devres_alloc(), and its release function is set to __snd_card_release(), which calls snd_card_free(). When the device is unbound, the unbind thread calls snd_card_free(), which drops a reference to the card's device. If the user thread still has an open file descriptor, the reference count does not reach zero, and the unbind thread blocks on wait_for_completion(&released). When the user thread closes the file descriptor, it drops the final reference, invoking the device release callback release_card_device(), which calls snd_card_do_free(). snd_card_do_free() performs cleanup and calls complete(card->release_completion). This wakes up the unbind thread, which returns from snd_card_free() and __snd_card_release(). The devres core then immediately frees the memory block containing the snd_card structure. Meanwhile, the user thread continues execution in snd_card_do_free() and evaluates `if (!card->managed)`. It reads the `managed` boolean from the snd_card structure that was just freed by the unbind thread, triggering a KASAN use-after-free. Fix this by caching the value of card->managed in a local variable before calling complete(). This ensures that the card pointer is not dereferenced after the unbind thread has been woken up and potentially freed the card. BUG: KASAN: use-after-free in snd_card_do_free sound/core/init.c:604 [inline] BUG: KASAN: use-after-free in release_card_device+0x1ab/0x1b0 sound/core/init.c:153 Read of size 1 at addr ffff8881912ec909 by task syz-executor130/5857 Call Trace: <TASK> dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_address_description+0x55/0x1e0 mm/kasan/report.c:378 print_report+0x58/0x70 mm/kasan/report.c:482 kasan_report+0x117/0x150 mm/kasan/report.c:595 snd_card_do_free sound/core/init.c:604 [inline] release_card_device+0x1ab/0x1b0 sound/core/init.c:153 device_release+0xc4/0x1f0 drivers/base/core.c:-1 kobject_cleanup lib/kobject.c:689 [inline] kobject_release lib/kobject.c:720 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x222/0x550 lib/kobject.c:737 snd_card_file_remove+0x331/0x390 sound/core/init.c:1125 snd_pcm_release+0x12c/0x160 sound/core/pcm_native.c:2986 __fput+0x418/0xa50 fs/file_table.c:512 fput_close_sync+0x11f/0x240 fs/file_table.c:617 __do_sys_close fs/open.c:1511 [inline] __se_sys_close fs/open.c:1496 [inline] __x64_sys_close+0x7e/0x110 fs/open.c:1496 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK>
Who exploits it and how urgent it is
A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.
How the score was calculated
- EPSS 0.2% (30-day exploitation probability)+2
The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.
Remediation
Fixes and mitigations documented by the sources — linked to the original advisory.
No fix documented by the sources we poll. That does not mean none exists: check the vendor advisory.
First 24 hours
Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.
- Identify exposed assets running the affected vendor/product/version combinations (Linux Linux).
- No fix documented in the sources: reduce exposure and monitor the vendor advisory.
- Search available logs for exploit probes, errors and authentication anomalies.
Affected scope
Vendor, product and versions as the sources word them.
| Vendor | Product | Versions | Status | Source |
|---|---|---|---|---|
| Linux | Linux | ≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < d3d67f680dbc23a5e5e3d3ecfdbf700465809877≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < 09b27dd01b98480334c10bf6fb8d41d5fb063a4b≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < 03c5dabc8f16bc212a5b26d2425c03a55e55a86d≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < 6da22efb5cf490b06ffbca32b10fc8af7654fee0≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < a561012868ae37c28f61fdf658bf6f251bc0e8e8≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < 7d9b5e86775fa97a487da08b9aa76e1674bf8868≥ e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and < 5ae1a690c522fea2900ff56c8c2ace7b059f5e04version 5.15 | Vulnerable | CVE Program (cve.org) e CISA ADP |
EPSS over time FIRST
Oct 15, 2026 → Oct 18, 2026 · 3 reading(s) · max 0.22%
Detection
Read off the CVSS vector and the weakness class. Starting points, not tested rules.
- Not enough vector or weakness data: use the affected application’s logs as a starting point.
Timeline
What happened to this CVE, newest first.
- 2026
- Record published
- Affected products added · linux/linux
- Source status changed · → Received
- Record created in this database
- CVE published
Source activity
Repeated readings are counted rather than listed.
- 1× References added · Oct 19, 2026 – Oct 19, 2026
- 1× Official description updated · Oct 15, 2026 – Oct 15, 2026
References
9 on the record
- nvd.nist.gov/vuln/detail/CVE-2026-90198
- github.com/advisories/GHSA-89m9-vw2h-xgxr
- git.kernel.org/stable/c/6da22efb5cf490b06ffbca32b10fc8af7654fee0
- git.kernel.org/stable/c/03c5dabc8f16bc212a5b26d2425c03a55e55a86d
- git.kernel.org/stable/c/7d9b5e86775fa97a487da08b9aa76e1674bf8868
- git.kernel.org/stable/c/a561012868ae37c28f61fdf658bf6f251bc0e8e8
- git.kernel.org/stable/c/d3d67f680dbc23a5e5e3d3ecfdbf700465809877
- git.kernel.org/stable/c/09b27dd01b98480334c10bf6fb8d41d5fb063a4b
- git.kernel.org/stable/c/5ae1a690c522fea2900ff56c8c2ace7b059f5e04
Elsewhere on this site
Related CVEs (same products)
- Unknown CVE-2026-98866 sched/cache: Introduce task_struct->sched_cache_grp to fix UAF 1d
- Unknown CVE-2026-98867 dm-pcache: bound the logical key offset from persistent memory 1d
- Unknown CVE-2026-98868 dm-pcache: reject a kset that overruns its segment 1d
- Unknown CVE-2026-98856 kprobes: Skip disarmed probes when checking optkprobe overlap 1d
- Unknown CVE-2026-98857 ipvs: bound LBLCR and LBLC cache growth 1d
- Unknown CVE-2026-98858 io_uring: fix task_work add use-after-free with SQPOLL 1d
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No CVSS score published by NVD, the CNA, CISA or GitHub so far.
- No fixed version, patch or mitigation documented.
- No CISA SSVC assessment.
- No CWE classification.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record
Text assembled only from the fields above — no additional claims.
What should defenders know first?
CVE-2026-90198 is "ALSA: core: Fix use-after-free in snd_card_do_free()", rated Unknown. It affects Linux (Linux); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. EPSS 0.22% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.
Comments
Moderated technical discussion. Read the community guidelines.
No comments yet.
Sign in or create an account to comment and suggest corrections.