🔍 CVE-2026-31602

7.8
CVSS Score
HIGH
2026-04-24
2026-06-01 17:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ALSA ctxfi 드라이버에서 CT_PTP_NUM 설정값이 1에서 4로 증가하면서 발생한 메모리 관리 오류입니다. ct_vm_map() 함수가 할당된 범위를 초과하여 페이지 테이블 엔트리에 접근함으로써 페이지 폴트(Page Fault) 및 시스템 오류를 유발할 수 있습니다.

💡 쉬운 설명

사운드 카드 관련 소프트웨어가 메모리를 사용할 때, 정해진 공간보다 더 넓은 영역을 사용하려고 시도하다가 시스템이 멈추거나 오류가 발생하는 문제입니다. 이를 해결하기 위해 메모리 사용 범위를 다시 안전한 수준으로 제한하는 조치가 이루어졌습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Linux kernel (ALSA ctxfi driver component)

⚔️ 공격 벡터

로컬 사용자가 특정 사운드 하드웨어 설정을 조작하여 커널 메모리 오류를 유발하는 방식

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 CT_PTP_NUM이 1로 복구된 커밋을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 커밋(391e69143d0a) 이후의 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel