ALSA: core: Fix use-after-free in snd_card_do_free()
Noroxi assessment
Priority: Monitor (action score 0/100)
- The sources we track (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) show no public exploit code or exploitation in the wild.
- Probability of exploitation in the next 30 days: 0.22% (FIRST EPSS).
- Fixed version: Linux Linux 03c5dabc8f16bc212a5b26d2425c03a55e55a86d, 09b27dd01b98480334c10bf6fb8d41d5fb063a4b, 5ae1a690c522fea2900ff56c8c2ace7b059f5e04.
Low priority for now. Upgrade to Linux Linux 03c5dabc8f16bc212a5b26d2425c03a55e55a86d, 09b27dd01b98480334c10bf6fb8d41d5fb063a4b, 5ae1a690c522fea2900ff56c8c2ace7b059f5e04 or later.
Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it
Primary sources: NVD · CVE.org · FIRST EPSS
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>
- Published
- Sep 17, 2026
- Updated
- Oct 19, 2026
- EPSS
- 0.2% · 12th percentile
- CWE
- —
Report tools
Action score
0
Monitor
Low priority for now.
- CVSS
- 0 / 40 · —
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.2%
Get told when this record changes
- Not in KEV: no record of exploitation in the wild
- No public exploit code on record
- A fix has been released
If any of these changes, we'll tell you in the daily email digest.
Running WordPress? Scan your site free with WP Lens
Noroxi analysis
What does it mean in your environment?
The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.
We use this product, ask for helpAffected systems
Is your version affected?
Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.
—
Versions reported by the vendor
Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.
Linux Linux
- 5.15affected
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before d3d67f680dbc23a5e5e3d3ecfdbf700465809877affected · git
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before 09b27dd01b98480334c10bf6fb8d41d5fb063a4baffected · git
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before 03c5dabc8f16bc212a5b26d2425c03a55e55a86daffected · git
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before 6da22efb5cf490b06ffbca32b10fc8af7654fee0affected · git
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before a561012868ae37c28f61fdf658bf6f251bc0e8e8affected · git
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before 7d9b5e86775fa97a487da08b9aa76e1674bf8868affected · git
- e8ad415b7a55cb9a9fbfc04696518d5ea0b609b3 and later · before 5ae1a690c522fea2900ff56c8c2ace7b059f5e04affected · git
- before 5.15not affected · semver
- 5.15.221 and later · up to and including 5.15.*not affected · semver
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:12 | linux | before 6.1.190-1 | 6.1.190-1 |
| Debian:12 | linux-6.12 | before 6.12.111-1~deb12u1 | 6.12.111-1~deb12u1 |
| Debian:13 | linux | before 6.12.111-1 | 6.12.111-1 |
| Debian:14 | linux | before 7.2.6-1 | 7.2.6-1 |
Same product
linux: all recordsOther highest-scoring records for the same primary product.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40Plan
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40Plan
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40Plan
Published before and after this one in the same product
- ← EarlierCVE-2026-90196Sep 17, 2026 · ASoC: SOF: validate topology volume range before allocation0Monitor
- ← EarlierCVE-2026-90197Sep 17, 2026 · HID: haptic: don't write an uninitialized value to unhandled usages0Monitor
- Later →CVE-2026-90199Sep 17, 2026 · fs/ntfs3: reject out-of-range evcn in mi_enum_attr()31Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Linux Linux | 03c5dabc8f16bc212a5b26d2425c03a55e55a86d | Vendor (CNA) |
| Linux Linux | 09b27dd01b98480334c10bf6fb8d41d5fb063a4b | Vendor (CNA) |
| Linux Linux | 5ae1a690c522fea2900ff56c8c2ace7b059f5e04 | Vendor (CNA) |
| Linux Linux | 6da22efb5cf490b06ffbca32b10fc8af7654fee0 | Vendor (CNA) |
| Linux Linux | 7d9b5e86775fa97a487da08b9aa76e1674bf8868 | Vendor (CNA) |
| Linux Linux | a561012868ae37c28f61fdf658bf6f251bc0e8e8 | Vendor (CNA) |
| Linux Linux | d3d67f680dbc23a5e5e3d3ecfdbf700465809877 | Vendor (CNA) |
| debian:linux | 6.1.190-1 · Debian:12 | Package registry (OSV) |
| debian:linux | 6.12.111-1 · Debian:13 | Package registry (OSV) |
| debian:linux-6.12 | 6.12.111-1~deb12u1 · Debian:12 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
No credits in the CNA record.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
No nightly-computed relations.
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
Technical details
No CVSS vector for this record, so attack conditions can't be derived.
Weakness class (CWE)
—
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
MITRE has no CAPEC/ATT&CK mapping for this CWE.
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (6 more)Show less
- git.kernel.org/stable/c/09b27dd01b98480334c10bf6fb8d41d5fb063a4b
- git.kernel.org/stable/c/5ae1a690c522fea2900ff56c8c2ace7b059f5e04
- git.kernel.org/stable/c/6da22efb5cf490b06ffbca32b10fc8af7654fee0
- git.kernel.org/stable/c/7d9b5e86775fa97a487da08b9aa76e1674bf8868
- git.kernel.org/stable/c/a561012868ae37c28f61fdf658bf6f251bc0e8e8
- git.kernel.org/stable/c/d3d67f680dbc23a5e5e3d3ecfdbf700465809877
Vendor advisories and official records. Exploit/PoC links are deliberately left out.