CVE-2026-31602
Description
In the Linux kernel, the following vulnerability has been resolved:
ALSA: ctxfi: Limit PTP to a single page
Commit 391e69143d0a increased CT_PTP_NUM from 1 to 4 to support 256 playback streams, but the additional pages are not used by the card correctly. The CT20K2 hardware already has multiple VMEM_PTPAL registers, but using them separately would require refactoring the entire virtual memory allocation logic.
ct_vm_map() always uses PTEs in vm->ptp[0].area regardless of CT_PTP_NUM. On AMD64 systems, a single PTP covers 512 PTEs (2M). When aggregate memory allocations exceed this limit, ct_vm_map() tries to access beyond the allocated space and causes a page fault:
BUG: unable to handle page fault for address: ffffd4ae8a10a000 Oops: Oops: 0002 [#1] SMP PTI RIP: 0010:ct_vm_map+0x17c/0x280 [snd_ctxfi] Call Trace: atc_pcm_playback_prepare+0x225/0x3b0 ct_pcm_playback_prepare+0x38/0x60 snd_pcm_do_prepare+0x2f/0x50 snd_pcm_action_single+0x36/0x90 snd_pcm_action_nonatomic+0xbf/0xd0 snd_pcm_ioctl+0x28/0x40 __x64_sys_ioctl+0x97/0xe0 do_syscall_64+0x81/0x610 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Revert CT_PTP_NUM to 1. The 256 SRC_RESOURCE_NUM and playback_count remain unchanged.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In the Linux kernel's ALSA ctxfi driver, a kernel panic occurs when the PTP table entry count was increased to 4 but only index 0 is used, causing out-of-bounds access on memory allocations exceeding 2 MB.
Vulnerability
In the Linux kernel's ALSA ctxfi (Sound Blaster X-Fi) driver, a previous commit raised CT_PTP_NUM from 1 to 4 to allow 256 playback streams, but the additional PTP (Page Table Page) entries are never used by ct_vm_map(). The function always reads PTEs from vm->ptp[0].area, regardless of CT_PTP_NUM. On AMD64 systems, a single PTP covers 2 MB (512 PTEs). When aggregate memory allocations exceed this limit, ct_vm_map() attempts to access beyond the allocated region, triggering a page fault [1].
Exploitation
The vulnerability is triggered during normal audio playback preparation. When the driver calls ct_vm_map() to map memory for a new PCM substream, and the total mapped memory surpasses the 2 MB boundary, an out-of-bounds read/write occurs. An attacker would need local access to the system and the ability to initiate multiple audio playback streams—no special privileges beyond normal user access to ALSA audio devices are required. The crash manifests as a kernel NULL pointer dereference or page fault, as shown in the kernel bug report [1].
Impact
A local attacker or even an unprivileged user can cause a denial-of-service (DoS) by crashing the kernel through repeated audio playback operations that exhaust the limited PTP space. The bug can lead to system instability, data loss from unsaved work, or reboots. The CVSS v3 score of 7.8 rating reflects the high availability impact, with no confidentiality or integrity loss. No privilege escalation is known from this bug.
Mitigation
Patches have been merged into the Linux kernel stable tree, reverting CT_PTP_NUM back to 1 [1][2][3][4]. Users should apply the corresponding stable kernel updates for their distribution. The 256 playback stream capacity for playback streams (SRC_RESOURCE_NUM) remains unchanged; only the PTP allocation logic is corrected, so the reduction from 4 to 1 page table pages does not affect the number of concurrent streams, as confirmed by the commit message [1].
AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
6- git.kernel.org/stable/c/365c36e1a126c6aa1aecedd3a351bcabc66f0c29nvdPatch
- git.kernel.org/stable/c/3fd0685d7fef68c2d8a04876bcf9eaa0724ad6a5nvdPatch
- git.kernel.org/stable/c/452894005b4abe141b11fe01e7bfe152e6d3860fnvdPatch
- git.kernel.org/stable/c/ad9011a795407093dcf507f6e5da1828987b4b47nvdPatch
- git.kernel.org/stable/c/b7f5ecd13cce8c2f8fa5a84c9aab65997142577envdPatch
- git.kernel.org/stable/c/e9418da50d9e5c496c22fe392e4ad74c038a94ebnvdPatch
News mentions
0No linked articles in our index yet.