🇰🇷 한글 설명
Linux 커널의 iio: adc: rzg2l_adc 드라이버에서 런타임 전원 관리(PM)를 활성화하기 전에 드라이버 데이터(drvdata)를 설정하지 않아 발생하는 취약점입니다. ADC 장치를 반복적으로 바인딩/언바인딩하는 스트레스 테스트 상황에서, 소비자 장치가 ADC를 즉시 재개시키면 설정되지 않은 drvdata 참조로 인해 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
하드웨어를 끄고 켜는 과정에서 필요한 정보가 아직 준비되지 않은 상태로 장치가 작동하려고 시도하여 컴퓨터가 멈추거나 꺼질 수 있는 문제입니다. 장치를 사용하는 다른 부품이 너무 빨리 작동을 요청할 때 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: adc: rzg2l_adc: Set driver data before enabling runtime PM
When stress-testing the system by repeatedly unbinding and binding the ADC
device in a loop, and the ADC is a supplier for another device (e.g., a
thermal hardware block that reads temperature through the ADC), it may
happen that the ADC device is runtime-resumed immediately after runtime PM
is enabled, triggered by its consumer. At this point, since drvdata is not
yet set and the driver's runtime PM callbacks rely on it, a crash can
occur. To avoid this, set drvdata just after it was allocated.
📍 영향받는 시스템
Linux kernel (rzg2l_adc 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 장치 드라이버의 바인딩/언바인딩을 반복적으로 수행하여 시스템 충돌 유도 (DoS)
🛡️ 대응 방법
Linux 커널을 최신 패치가 적용된 버전으로 업데이트하여 drvdata 설정 순서를 수정해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.