🇰🇷 한글 설명
Linux 커널의 media: staging/ipu7 드라이버에서 프로브(probe) 오류 발생 시 비동기 알림자(async notifier)를 적절히 해제하지 않아 발생하는 Use-After-Free(UAF) 취약점입니다. 이로 인해 전역 알림자 리스트가 손상되어 시스템 불안정이나 권한 상승이 발생할 수 있습니다.
💡 쉬운 설명
장치를 연결하는 과정에서 오류가 났을 때, 장치 정보는 지워지지만 장치와 연결된 알림 기능이 메모리에 남아있는 문제입니다. 이 남겨진 정보가 나중에 잘못 사용되면서 시스템이 충돌하거나 해킹의 통로가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: staging/ipu7: fix async notifier UAF on probe error path
isys_register_devices() registers the V4L2 async notifier via
isys_notifier_init(). If a subsequent probe step such as
isys_fw_log_init() fails, isys_probe() jumps to the out_cleanup label
which only calls isys_unregister_devices(). That helper tears down the
video devices, subdevices, V4L2 device and media device, but never
unregisters or cleans up the async notifier.
As a result the notifier stays chained in the global notifier_list while
the enclosing struct ipu7_isys is freed by devres, leading to list
corruption and a use-after-free the next time the list is walked.
The remove path already does the right thing by calling
isys_notifier_cleanup() before isys_unregister_devices(). Mirror that on
the probe error path so the notifier is unregistered and cleaned up
before the device is torn down.
📍 영향받는 시스템
Linux kernel (media: staging/ipu7 driver 포함 버전)
⚔️ 공격 벡터
장치 드라이버의 프로브 단계에서 의도적인 오류를 유도하여 메모리 손상 및 UAF 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 isys_notifier_cleanup() 호출 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인