🇰🇷 한글 설명
Linux 커널의 MHI 코어에서 도어벨(doorbell) 접근이 불가능한 상태일 때 잘못된 에러를 반환하는 취약점이 해결되었습니다. 이로 인해 발생하던 Use-After-Free 오류를 방지하여 시스템 안정성을 높였습니다.
💡 쉬운 설명
장치가 잠시 잠든 상태일 때 시스템이 이를 오류로 착각하여 데이터를 잘못 처리하는 문제가 있었습니다. 이로 인해 메모리 오류가 발생할 수 있었으나, 이제는 잠시 기다렸다가 정상적으로 처리하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bus: mhi: core: Fix invalid error returning in mhi_queue
mhi_queue returns an error when the doorbell is not accessible in
the current state. This can happen when the device is in non M0
state, like M3, and needs to be waken-up prior ringing the DB. This
case is managed earlier by triggering an asynchronous M3 exit via
controller resume/suspend callbacks, that in turn will cause M0
transition and DB update.
So, since it's not an error but just delaying of doorbell update, there
is no reason to return an error.
This also fixes a use after free error for skb case, indeed a caller
queuing skb will try to free the skb if the queueing fails, but in
that case queueing has been done.
📍 영향받는 시스템
MHI(Mobile Hardware Interface) 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특정 하드웨어 상태(M3 등)에서 도어벨 업데이트 지연을 유도하여 메모리 오류 유발
🛡️ 대응 방법
MHI 코어 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인