🇰🇷 한글 설명
Linux 커널의 fsl-mc 버스 드라이버에서 __driver_attach()를 통해 드라이버가 탐색될 때, 디바이스 잠금(lock) 없이 match() 콜백이 호출되는 취약점이 발견되었습니다. 이로 인해 driver_override 필드에 잠금 없이 접근하게 되어 Use-After-Free(UAF) 오류가 발생할 수 있습니다. 이를 해결하기 위해 내부적으로 적절한 잠금을 처리하는 generic driver_override 인프라를 사용하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 부품을 관리하는 소프트웨어에서 데이터 보호를 위한 '잠금 장치'를 제대로 사용하지 않아 발생하는 문제입니다. 이로 인해 이미 사용이 끝난 메모리 영역에 잘못 접근하여 시스템이 충돌하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
bus: fsl-mc: use generic driver_override infrastructure
When a driver is probed through __driver_attach(), the bus' match()
callback is called without the device lock held, thus accessing the
driver_override field without a lock, which can cause a UAF.
Fix this by using the driver-core driver_override infrastructure taking
care of proper locking internally.
Note that calling match() from __driver_attach() without the device lock
held is intentional. [1]
📍 영향받는 시스템
fsl-mc 버스 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특정 조건에서 드라이버가 탐색되는 과정 중 메모리 관리 오류를 유도하여 시스템 권한 탈취 또는 서비스 거부(DoS) 유발
🛡️ 대응 방법
커널 패치를 적용하여 generic driver_override 인프라를 사용하도록 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인합니다.