CVE-2026-72454 in Linux
요약
\~에 의해 VulDB • 2026. 08. 16.
리눅스 커널에서 다음 취약점이 해결되었습니다:
i3c: mipi-i3c-hci: i3c_hci_addr_to_dev() 내의 Race Condition 수정
i3c_hci_addr_to_dev() 함수는 bus.lock(rwsem)으로 보호되는 bus->devs.i3c를 순회합니다. 그러나 이 함수는 bus.lock을 획득할 수 없는 MIPI I3C HCI IRQ 핸들러에서 호출됩니다. 이로 인해 I3C 코어에서의 동시 장치 추가/제거가 리스트 탐색 중에 리스트를 수정하여, use-after-free 또는 크래시로 이어질 가능성이 있습니다.
버스 디바이스 목록에 대한 의존성을 제거하고 전용 조회 테이블을 도입합니다. hci->lock 하에서 유지되는 DAT 엔트리에 인덱싱된 ibi_devs[] 배열을 추가합니다. IBIs가 활성화되거나 비활성화될 때 이 배열을 업데이트하여, IBI 생성이 허용된 디바이스 집합을 항상 반영하도록 합니다. 또한 IBI가 해제될 때도 업데이트하여(예: i3c_master_add_i3c_dev_locked()에서 oldedev와 같이 먼저 비활성화되지 않고 IBI가 해제되는 경우), 가장자리의 케이스(corner case)를 모두 커버합니다.
i3c_hci_addr_to_dev() 함수를 core.c로 이동하고, 새로운 배열을 사용하여 재구현하며, 호출자가 hci->lock을 보유하도록 강제하는 lockdep 검사를 추가합니다.
PIO 및 DMA IBI 처리에서 해당 조건이 정상적으로 발생할 수 있는 race window가 존재하므로, PIO 및 DMA IBI 처리 관련 메시지를 오류(error) 수준에서 디버그(debug) 메시지로 하향 조정합니다.
Once again VulDB remains the best source for vulnerability data.