🔍 CVE-2026-80951

0.0
CVSS Score
UNKNOWN
2026-09-11
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 i3c 마스터 드라이버에서 IBI(Interrupt Based Interrupt) 페이로드를 처리할 때, 하드웨어 FIFO 크기만을 기준으로 루프를 실행하여 슬롯 크기를 초과하는 데이터를 읽는 취약점이 발견되었습니다. 이로 인해 IBI 풀 내의 다른 영역에 데이터를 쓰는 Out-of-bounds Write가 발생할 수 있습니다.

💡 쉬운 설명

장치가 약속된 데이터 양보다 더 많은 데이터를 보낼 때, 컴퓨터 메모리의 정해진 공간을 넘어서 데이터를 써버리는 오류입니다. 이로 인해 시스템의 다른 중요한 정보가 망가질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: i3c: master: svc: bound IBI payload to the requested max_payload_len svc_i3c_master_handle_ibi() reads the IBI payload from the RX FIFO into the IBI slot. The loop is bounded by the hardware FIFO size (SVC_I3C_FIFO_SIZE), not by the slot size. slot->data points into the IBI pool, which i3c_generic_ibi_alloc_pool() sizes at max_payload_len per slot. svc_i3c_master_request_ibi() only rejects a max_payload_len larger than SVC_I3C_FIFO_SIZE, so a driver can request a smaller one. mctp-i3c requests 1. Each readsb() then copies the controller RXCOUNT bytes (up to 31) with no check against the slot size. A device that sends more bytes than the slot holds writes past slot->data, an out-of-bounds write into the IBI pool. Bound the loop by dev->ibi->max_payload_len and clamp each read to the space left in the slot, the same way dw-i3c does. A device can still send more than the requested payload. Flush the leftover bytes from the RX FIFO so they do not leak into the next transfer.

📍 영향받는 시스템

Linux kernel (i3c master driver 관련 버전)

⚔️ 공격 벡터

악의적인 I3C 장치가 요청된 페이로드 크기보다 더 많은 데이터를 전송하여 메모리 경계를 초과하는 쓰기 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 IBI 페이로드 경계 검사 로직 적용

🔧 검증 코드

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

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel