VYPR
High severity7.8NVD Advisory· Published Apr 24, 2026· Updated Apr 29, 2026

CVE-2026-31602

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

1
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
    Range: >=3.2,<6.6.136

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

6

News mentions

0

No linked articles in our index yet.