🇰🇷 한글 설명
Linux 커널의 i2c: imx 드라이버에서 slave 포인터를 해제하기 전에 hrtimer를 취소하지 않아 발생하는 취약점입니다. 인터럽트가 비활성화된 후 포인터가 NULL로 설정되기 전에 타이머가 실행될 경우, NULL 포인터 역참조 또는 Use-After-Free 오류가 발생할 수 있습니다.
💡 쉬운 설명
장치를 연결 해제하는 과정에서 타이머가 먼저 꺼지지 않아, 이미 사라진 장치를 참조하려고 시도하면서 시스템이 충돌하거나 오류가 발생하는 문제입니다. 이는 컴퓨터의 핵심 부분인 커널에서 발생하므로 시스템 안정성에 영향을 줄 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
i2c: imx: Cancel hrtimer before clearing slave pointer
In i2c_imx_unreg_slave(), the slave pointer is set to NULL after
disabling interrupts. However, a pending interrupt might already
have started the hrtimer (i2c_imx_slave_timeout) before the pointer
was cleared. If the hrtimer fires after i2c_imx->slave is set to
NULL, the timer callback i2c_imx_slave_finish_op() will call
i2c_imx_slave_event() with a NULL slave pointer, which results in a
use-after-free / NULL pointer dereference.
Fix by canceling the hrtimer and waiting for it to complete after
disabling interrupts, before clearing the slave pointer.
📍 영향받는 시스템
Linux kernel (i2c: imx driver components)
⚔️ 공격 벡터
특정 하드웨어 인터럽트 타이밍을 조작하여 커널의 NULL 포인터 역참조 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 hrtimer 취소 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux