🇰🇷 한글 설명
Linux 커널의 ALSA PCM 데이터 전송 과정에서 무음(silencing) 처리 시 잘못된 iov_iter를 설정하는 취약점이 발견되었습니다. 이로 인해 RISC-V 아키텍처에서 NULL 포인터 역참조가 발생하여 시스템 오류를 유발할 수 있습니다.
💡 쉬운 설명
소리를 내지 않아야 하는 상황에서 컴퓨터가 잘못된 데이터 주소를 참조하여 시스템이 멈추거나 오류가 발생하는 문제입니다. 특히 RISC-V 기반의 특정 하드웨어 환경에서 문제가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: pcm: Don't setup bogus iov_iter for silencing
At transition to the iov_iter for PCM data transfer, we blindly
applied the iov_iter setup also for silencing (i.e. data = NULL), and
it leads to a calculation of bogus iov_iter. Fortunately this didn't
cause troubles on most of architectures but it goes wrong on RISC-V
now, causing a NULL dereference.
Handle the NULL data case to treat the silencing in interleaved_copy()
for addressing the bug above. noninterleaved_copy() has already the
NULL data handling, so it doesn't need changes.
📍 영향받는 시스템
ALSA를 사용하는 Linux 커널 (특히 RISC-V 아키텍처 기반 시스템)
⚔️ 공격 벡터
로컬 공격자가 특수하게 조작된 PCM 데이터 전송 요청을 통해 NULL 포인터 역참조 유도
🛡️ 대응 방법
ALSA의 interleaved_copy() 함수 내 NULL 데이터 처리가 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인