🇰🇷 한글 설명
Linux 커널의 MMC 서브시스템에서 SDIO IRQ 작업이 호스트가 해제되기 전에 취소되지 않는 취약점이 발견되었습니다. 이로 인해 컨트롤러가 해제된 후에도 작업자가 실행되어 메모리 해제된 호스트 객체를 참조함으로써 시스템 오류나 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터 부품을 제거할 때 처리 중이던 작업이 제대로 멈추지 않아, 이미 사라진 부품의 정보를 다시 찾으려다 시스템이 충돌하는 문제입니다. 이는 시스템의 안정성을 해칠 수 있는 메모리 관리 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
mmc: core: Cancel SDIO IRQ work before freeing host
A host controller that uses sdio_signal_irq() schedules host->sdio_irq_work
from its interrupt handler. That work is only cancelled on the suspend
path (mmc_sdio_suspend()), not on the remove/free path, so a worker armed
just before the controller freed its IRQ can run after
mmc_host_classdev_release() has freed the host and dereference it through
container_of().
Cancel host->sdio_irq_work in mmc_free_host(), like the existing
host->detect drain added by commit 1036f69e2513 ("mmc: core: Cancel
delayed work before releasing host").
This issue was found by an in-house static analysis tool.
📍 영향받는 시스템
SDIO 인터페이스를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
로컬 공격자가 특정 하드웨어 제거 또는 드라이버 언로드 시나리오를 유도하여 시스템 충돌 유발 가능
🛡️ 대응 방법
커널 패치를 적용하여 mmc_free_host() 함수 내에서 sdio_irq_work를 취소하도록 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인