CVE-2026-98314 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 06.

Linux 커널에서 다음 취약점이 해결되었습니다:

ALSA: pcm 타이머 등록 전에 timer->private_data 설정하기

snd_pcm_timer_init()은 새로운 struct snd_timer를 전역 타이머 목록에 연결하기 위해 snd_device_register()를 호출합니다. 이 시점에서는 여전히 hw.c_resolution = snd_pcm_timer_resolution (및 hw.start/hw.stop)가 유지되어 있으며, 이후에야 timer->private_data = substream이 설정됩니다.

타이머가 register_mutex 하에서 목록에 추가된 후, 동시에 실행되는 리더(concurrent reader)는 동일한 mutex를 통해 타이미터에 접근하여 이러한 콜백을 호출할 수 있습니다. /proc/asound/timers는 c_resolution()을 통해 이를 수행하며, snd_timer_open()+snd_timer_start()도 start()/stop() 함수에 같은 방식으로 접근합니다. 이 세 가지 경우 모두 timer->private_data를 역참조(dereference)하는데, 이 짧은 시간 동안 해당 값은 NULL이므로 NULL 포인터 역참조(NULL-pointer dereference)가 발생합니다:

substream = timer->private_data; return substream->runtime ? ... // substream is NULL

snd_device_register() 호출 전에 private_data/private_free 할당을 이동하여 타이머가 private_data가 설정되지 않은 상태로 목록에 노출되는 일이 없도록 합니다. snd_device_register() 실패 경로에서는 private_free()(snd_pcm_timer_free())이 이제 실행될 수 있지만, 이는 substream->timer = NULL만 수행하며, 이 시점에서 이미 NULL입니다. 왜냐하면 substream->timer는 성공적인 등록 후에야 새 타이머로 한 번 설정되기 때문입니다. 따라서 실패 경로는 안전하게 유지됩니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-414245

EPSS

0.00000

출처

Might our Artificial Intelligence support you?

Check our Alexa App!