🔍 CVE-2026-72142

0.0
CVSS Score
UNKNOWN
2026-08-15
2026-08-23 13:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 i2c: imx 드라이버에서 SMBus 블록 읽기 시 바이트 수가 0인 경우 버스가 잠기는 취약점이 발견되었습니다. 이 오류로 인해 타겟 장치가 SDA 라인을 계속 점유하게 되어, 전원을 재시작하기 전까지 I2C 컨트롤러의 버스가 먹통이 됩니다.

💡 쉬운 설명

특정 통신 명령을 잘못 처리하여 컴퓨터 내부의 통신 통로가 꽉 막혀버리는 문제입니다. 이 문제가 발생하면 장치를 껐다 켜기 전까지는 해당 통신 기능을 사용할 수 없습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: i2c: imx: fix locked bus on SMBus block-read of 0 (atomic) SMBus 3.1 6.5.7 allows a Block Read byte count of 0, but the atomic (polling) path rejects it as -EPROTO. Worse, it returns without a NACK+STOP: the next receive cycle has already started, so the target keeps holding SDA and the bus stays stuck until a power cycle for this i2c controller. Reading I2DR to obtain the count likewise arms the next byte on the count > I2C_SMBUS_BLOCK_MAX path, which also returned -EPROTO directly and left the bus held. Handle both: NACK the in-flight dummy byte (TXAK) and extend msgs->len so the existing last-byte handling emits STOP; the dummy byte is discarded. A count of 0 is a valid empty block read; a count above I2C_SMBUS_BLOCK_MAX is still reported as -EPROTO, but only after the bus has been released. The interrupt-driven path has the same flaw from a later commit and is fixed separately, as it carries a different Fixes: tag and stable range.

📍 영향받는 시스템

Linux kernel (i2c: imx driver, SMBus 3.1 6.5.7 관련 버전)

⚔️ 공격 벡터

SMBus 블록 읽기 요청 시 바이트 수를 0으로 설정하거나 최대 범위를 초과하여 전송함으로써 버스 잠금 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 i2c: imx 드라이버 수정 사항 반영

🔧 검증 코드

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

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel