🔍 CVE-2026-64479

0.0
CVSS Score
UNKNOWN
2026-07-25
2026-08-17 05:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ALSA seq 구성 요소에서 snd_seq_event_dup() 함수가 초기화되지 않은 힙 메모리를 누출하는 취약점이 발견되었습니다. UMP 기능이 활성화된 빌드에서 레거시 이벤트 처리 시 특정 데이터 영역이 0으로 초기화되지 않아, 커널 힙의 잔류 데이터가 사용자 공간으로 유출될 수 있습니다.

💡 쉬운 설명

컴퓨터의 소리 관련 시스템에서 메모리를 재사용할 때, 이전에 사용했던 민감한 정보가 지워지지 않고 그대로 남는 문제입니다. 공격자는 이 방식을 통해 시스템 내부의 중요한 정보를 몰래 훔쳐볼 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Fix uninitialised heap leak in snd_seq_event_dup() snd_seq_event_dup() copies an incoming event into a pool cell and, in the UMP-enabled build, clears the trailing cell->ump.raw.extra word that the memcpy() did not cover. The guard deciding whether to clear it compares the copied size against sizeof(cell->event): memcpy(&cell->ump, event, size); if (size < sizeof(cell->event)) cell->ump.raw.extra = 0; For a legacy (non-UMP) event, size == sizeof(struct snd_seq_event) == sizeof(cell->event), so the condition is false and the extra word keeps stale data. The cell pool is allocated with kvmalloc() (not zeroed) and cells are reused via a free list, so that word holds uninitialised heap or leftover event data. When such a cell is delivered to a UMP client (client->midi_version > 0) that set SNDRV_SEQ_FILTER_NO_CONVERT -- so the legacy event reaches it unconverted -- snd_seq_read() reads it out as the larger struct snd_seq_ump_event and copies the stale word to user space, a 4-byte kernel heap infoleak to an unprivileged /dev/snd/seq client. Compare against sizeof(cell->ump) instead, so the trailing word is zeroed for every event shorter than the UMP cell.

📍 영향받는 시스템

UMP 기능이 활성화된 Linux 커널 (ALSA seq 모듈 포함)

⚔️ 공격 벡터

권한이 없는 사용자가 /dev/snd/seq 클라이언트를 통해 특수하게 구성된 레거시 이벤트를 전송하여 커널 힙 데이터를 읽어냄

🛡️ 대응 방법

해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 취약점이 패치된 최신 보안 업데이트 버전인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel