🇰🇷 한글 설명
Linux 커널의 ASoC nau8821 드라이버에서 컴포넌트 제거 시 지연된 작업(delayed work)을 취소하지 않아 발생하는 취약점입니다. 드라이버가 언로드되는 동안 잭 감지 작업이 예약되어 있으면, 해당 작업이 실행될 때 커널 패닉(Crash)이 발생할 수 있습니다.
💡 쉬운 설명
오디오 장치 드라이버를 제거하는 도중에 예약된 작업이 갑자기 실행되면서 컴퓨터 시스템이 멈추거나 오류가 발생하는 문제입니다. 장치를 끌 때 남아있는 작업들을 미리 정리하지 못해 발생하는 충돌입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ASoC: nau8821: Cancel delayed work on component remove
Attempting to unload the driver while a jack detection work is pending
would likely crash the kernel when it is eventually scheduled for
execution:
[ 1984.896308] BUG: unable to handle page fault for address: ffffffffc10c2a20
[...]
[ 1984.896388] Hardware name: Valve Jupiter/Jupiter, BIOS F7A0131 01/30/2024
[ 1984.896396] Workqueue: events nau8821_jdet_work [snd_soc_nau8821]
[ 1984.896414] RIP: 0010:__mutex_lock+0x9f/0x11d0
[...]
[ 1984.896504] Call Trace:
[ 1984.896511] <TASK>
[ 1984.896524] ? snd_soc_dapm_disable_pin+0x26/0x60 [snd_soc_core]
[ 1984.896572] ? snd_soc_dapm_disable_pin+0x26/0x60 [snd_soc_core]
[ 1984.896596] snd_soc_dapm_disable_pin+0x26/0x60 [snd_soc_core]
[ 1984.896622] nau8821_jdet_work+0xeb/0x1e0 [snd_soc_nau8821]
[ 1984.896636] process_one_work+0x211/0x590
[ 1984.896649] ? srso_return_thunk+0x5/0x5f
[ 1984.896670] worker_thread+0x1cd/0x3a0
Cancel unscheduled jdet_work or wait for its execution to finish before
the component driver gets removed.
📍 영향받는 시스템
Linux kernel (ASoC nau8821 driver component)
⚔️ 공격 벡터
로컬 공격자가 드라이버 언로드 시점을 조작하여 커널 패닉을 유도하는 DoS(서비스 거부) 공격 가능
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 nau8821 컴포넌트 제거 시 작업을 취소하도록 수정해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.