🇰🇷 한글 설명
Linux 커널의 dw_mmc-rockchip 드라이버에서 구형 Rockchip 컨트롤러(rk2928, rk3066, rk3188)가 필요한 프라이빗 데이터 구조체를 할당받지 못하는 취약점이 발견되었습니다. 이로 인해 특정 기능 활성화 시 NULL 포인터 역참조가 발생하여 시스템이 충돌할 수 있습니다.
💡 쉬운 설명
오래된 칩셋을 사용하는 기기에서 시스템이 특정 동작을 수행할 때, 필요한 정보를 찾지 못해 갑자기 멈추거나 꺼질 수 있는 문제입니다. 소프트웨어가 존재하지 않는 메모리 주소를 참조하려고 시도하기 때문에 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
mmc: dw_mmc-rockchip: Add missing private data for very old controllers
The really old controllers (rk2928, rk3066, rk3188) do not support UHS
speeds at all, and thus never handled phase data.
For that reason it never had a parse_dt callback and no driver private
data at all.
Commit ff6f0286c896 ("mmc: dw_mmc-rockchip: Add memory clock auto-gating
support") makes the private data sort of mandatory, because the init
function checks whether phases are configured internally or through the
clock controller.
This results in the old SoCs then experiencing NULL-pointer dereferences
when they try to access that private-data struct.
While we could have if (priv) conditionals in all places, it's way less
cluttery to just give the old types their private-data struct.
📍 영향받는 시스템
Linux kernel (Rockchip rk2928, rk3066, rk3188 SoC를 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 기능을 트리거하여 커널 패닉(NULL pointer dereference)을 유도할 수 있음
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 최신 릴리스 버전인지 확인하십시오.