cveboard RSS feed

CVE-2026-98116

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

ALSA: pcm: Serialize PCM mmap with buffer reallocation to fix page UAF

In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: Serialize PCM mmap with buffer reallocation to fix page UAF snd_pcm_hw_params() and snd_pcm_hw_free() guard buffer reallocation with an mmap_count check performed under the PCM stream lock, but the lock is released long before the buffer is actually freed: snd_pcm_sync_stop(), constraint refinement and do_free_pages() all happen in between. snd_pcm_mmap_data(), on the other hand, takes no lock at all: it validates against the old buffer's state and dma_bytes, remaps its pages into the VMA, and only then increments mmap_count. A concurrent mmap() can therefore slip in between the check and the free. remap_pfn_range() installs writable PTEs for the old buffer's pages without taking page references, and the subsequent do_free_pages() returns those pages to the page allocator while the VMA still maps them. This leaves a stale, writable mapping of freed pages: a page-level use-after-free that can be leveraged for local privilege escalation. Make snd_pcm_mmap_data() participate in the buffer-access scheme introduced for hw_params/hw_free: acquire runtime->buffer_accessing before validating and remapping, and release it afterwards. Buffer reallocation already fails with -EBUSY while accessors are active, and the mmap side now fails with -EBUSY while a reallocation is in progress, so the validate/remap sequence and the check/free sequence can no longer interleave. A reproducer that turns this race into a stale writable mapping of the freed DMA buffer pages is available on request.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
33061d0fba51d2bf70a2ef9645f703c33fe8e438affectedgite6cdd2a0470d64073349a970dc1691433804b271UnavailableNone listed
92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffectedgit9857a75714bb5df4781e4d8b1a1753b1e17bf07aUnavailableNone listed
92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffectedgitcbadf2575d25e7dcc0d4da2717817ae569fbc99bUnavailableNone listed
92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffectedgitcbc7ec97601d09b74e05e44470fa6b0bcdabf3f5UnavailableNone listed
92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffectedgitfd137bf8149bc6460f9b7b1fc292025da04cb9eeUnavailableNone listed
92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffectedgit8c1882dfee8f404d118020664b73eb4592172226UnavailableNone listed
92ee3c60ec9fe64404dc035e7c41277d74aa26cbaffectedgit9b110a9dcecc59516c77cb3c0caf1f492f75df2dUnavailableNone listed
a42aa926843acca96c0dfbde2e835b8137f2f092affectedgitUnavailableUnavailableNone listed
9cb6c40a6ebe4a0cfc9d6a181958211682cffea9affectedgitUnavailableUnavailableNone listed
fbeb492694ce0441053de57699e1e2b7bc148a69affectedgitUnavailableUnavailableNone listed
0f6947f5f5208f6ebd4d76a82a4757e2839a23f8affectedgitUnavailableUnavailableNone listed
0090c13cbbdffd7da079ac56f80373a9a1be0bf8affectedgitUnavailableUnavailableNone listed
1bbf82d9f961414d6c76a08f7f843ea068e0ab7baffectedgitUnavailableUnavailableNone listed
5.15.32affectedsemver5.15.222UnavailableNone listed
4.14.279affectedsemver4.15UnavailableNone listed
4.19.243affectedsemver4.20UnavailableNone listed
5.4.193affectedsemver5.5UnavailableNone listed
5.10.109affectedsemver5.11UnavailableNone listed
5.16.18affectedsemver5.17UnavailableNone listed
5.17.1affectedsemver5.18UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
5.18affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver5.18UnavailableNone listed
5.15.222unaffectedsemverUnavailable5.15.*None listed
6.1.189unaffectedsemverUnavailable6.1.*None listed
6.6.158unaffectedsemverUnavailable6.6.*None listed
6.12.111unaffectedsemverUnavailable6.12.*None listed
6.18.53unaffectedsemverUnavailable6.18.*None listed
7.2.7unaffectedsemverUnavailable7.2.*None listed
7.3unaffectedoriginal_commit_for_fixUnavailable*None listed