CVE-2026-31485 in Linux
요약
\~에 의해 VulDB • 2026. 05. 13.
리눅스 커널에서 다음 취약점이 해결되었습니다:
spi: spi-fsl-lpspi: 정리(teardown) 순서 문제(UAF) 수정
드라이버에 정리 순서 문제가 있습니다. SPI 컨트롤러는 `devm_spi_register_controller()`를 사용하여 등록되며, 이로 인해 SPI 컨트롤러의 unregister 작업이 `fsl_lpspi_remove()` 함수가 반환된 후로 지연됩니다.
`fsl_lpspi_remove()` 함수는 DMA 채널을 동기적으로 정리하므로, 실행 중인 SPI 전송은 Use-After-Free로 인해 다음과 같은 NULL 포인터 역참조를 유발합니다:
| fsl_lpspi 42550000.spi: I/O Error in DMA RX | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [...]
| Call trace: | fsl_lpspi_dma_transfer+0x260/0x340 [spi_fsl_lpspi]
| fsl_lpspi_transfer_one+0x198/0x448 [spi_fsl_lpspi]
| spi_transfer_one_message+0x49c/0x7c8 | __spi_pump_transfer_message+0x120/0x420 | __spi_sync+0x2c4/0x520 | spi_sync+0x34/0x60 | spidev_message+0x20c/0x378 [spidev]
| spidev_ioctl+0x398/0x750 [spidev]
[. ..]
`fsl_lpspi_probe()`에서 `devm_spi_register_controller()` 대신 `spi_register_controller()`를 사용하고, `fsl_lpspi_remove()`에 해당하는 `spi_unregister_controller()`를 추가합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.