CVE-2026-43319 in Linux
요약
\~에 의해 VulDB • 2026. 05. 26.
리눅스 커널에서 다음 취약점이 해결되었습니다:
spi: spidev: spi_lock과 buf_lock 간의 잠금 역전(lock inversion) 수정
spidev 드라이버는 이전에 spi_lock과 buf_lock이라는 두 개의 뮤텍스를 사용했지만, 코드 경로에 따라 이를 다른 순서로 획득했습니다:
write()/read(): buf_lock -> spi_lock ioctl(): spi_lock -> buf_lock
이 AB-BA 잠금 패턴은 lockdep 경고를 유발하고 실제 데드락을 초래할 수 있습니다:
WARNING: possible circular locking dependency detected spidev_ioctl() -> mutex_lock(&spidev->buf_lock) spidev_sync_write() -> mutex_lock(&spidev->spi_lock) *** DEADLOCK ***
이 문제는 동일한 spidev 파일 설명자에서 별도의 스레드를 통해 write() 및 SPI_IOC_WR_MAX_SPEED_HZ ioctl() 호출을 수행하는 간단한 사용자 공간 프로그램으로 재현할 수 있습니다.
잠금 모델을 단순화하고 잠금 역전을 완전히 제거하여 이 문제를 해결합니다. spidev_sync()는 이제 잠금을 수행하지 않으며, 모든 호출자는 spi_lock을 사용하여 접근을 직렬화합니다.
buf_lock은 spi_lock의 기능으로 완전히 커버되므로 제거되어 잠금 순서 관련 문제의 가능성을 제거합니다.
이 변경은 사용자 공간 ABI나 동작을 변경하지 않으면서 잠금 역전을 제거하고 데드락을 방지합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.