🇰🇷 한글 설명
Linux 커널의 tpm_tis_spi 드라이버에서 wait_for_tmp_stat() 함수가 부적절한 방식으로 대기 상태를 처리하여 발생하는 문제입니다. CONFIG_DEBUG_ATOMIC_SLEEP 설정 시 인터럽트 대기 경로에서 경고가 발생할 수 있으며, 이를 해결하기 위해 wait_woken()을 사용하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 보안 칩(TPM)과 통신하는 과정에서 시스템이 잠시 멈추거나 오류 경고를 일으킬 수 있는 결함이 발견되었습니다. 이 문제는 시스템이 데이터를 기다리는 방식이 잘못되어 발생한 것으로, 최신 업데이트를 통해 해결되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tpm: tpm_tis_spi: Use wait_woken() in wait_for_tmp_stat()
wait_event_interruptible_timeout() evaluates its condition after setting
the current task state to TASK_INTERRUPTIBLE.
With CONFIG_DEBUG_ATOMIC_SLEEP this triggers a warning when the IRQ wait
path is used:
tpm_tis_status()
tpm_tis_spi_read_bytes()
tpm_tis_spi_transfer_full()
spi_bus_lock()
mutex_lock()
Address this with the following measures:
1. Call wait_tpm_stat_cond() only while tasking is running.
2. Use wait_woken() to wait for changes.
📍 영향받는 시스템
Linux kernel (tpm_tis_spi 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
로컬 시스템에서 특정 커널 디버그 설정(CONFIG_DEBUG_ATOMIC_SLEEP)이 활성화된 경우 경고 발생 가능
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.