🔍 CVE-2026-80678

8.4
CVSS Score
HIGH
2026-08-28
2026-10-16 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 i2c:imx 드라이버에서 슬레이브 등록 시 레이스 컨디션과 오류 처리 미흡으로 인한 취약점이 발견되었습니다. pm_runtime_resume_and_get() 실패 시 슬레이브 포인터가 NULL로 초기화되지 않아 이후 등록이 실패하거나, 인터럽트 핸들러와의 경합으로 인해 NULL 포인터 역참조가 발생할 수 있습니다.

💡 쉬운 설명

장치를 연결하는 과정에서 오류가 발생했을 때 뒷정리가 제대로 되지 않아 시스템이 오작동하거나 멈출 수 있는 문제입니다. 특히 장치 신호를 처리하는 과정에서 데이터가 꼬여 프로그램이 갑자기 종료될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: i2c: imx: Fix slave registration race and error handling In i2c_imx_reg_slave(), the slave pointer was assigned before pm_runtime_resume_and_get(). If pm_runtime_resume_and_get() failed, the error path returned without clearing i2c_imx->slave, leaving it non-NULL and causing all subsequent registration attempts to fail with -EBUSY. Additionally, because this driver uses a shared IRQ, the interrupt handler i2c_imx_isr() can execute concurrently and, after acquiring slave_lock, dereference i2c_imx->slave. The previous fix attempt added a lockless i2c_imx->slave = NULL on the error path, but that could race with the ISR under the lock and still cause a NULL pointer dereference. Fix both issues by deferring the assignment of i2c_imx->slave and i2c_imx->last_slave_event to after a successful resume, and by performing the assignment inside the slave_lock critical section. This guarantees that the slave pointer is never left stale on the error path and is always valid when observed by the interrupt handler.

📍 영향받는 시스템

Linux kernel (i2c:imx driver components)

⚔️ 공격 벡터

로컬 공격자가 특정 I2C 장치 등록 과정을 유도하여 커널 패닉 또는 서비스 거부(DoS) 유발

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel