🇰🇷 한글 설명
Linux 커널의 spi-imx 드라이버에서 spi_imx_setupxfer()의 반환 값을 확인하지 않아 발생하는 취약점입니다. 함수 호출 실패 시 rx 및 tx 함수 포인터가 NULL 상태로 유지되어, 이를 참조할 경우 커널 NULL 포인터 역참조로 인한 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
장치 간 통신을 담당하는 소프트웨어에서 오류가 발생했을 때 이를 제대로 확인하지 않고 다음 단계를 진행하여 시스템이 멈추는 문제입니다. 이로 인해 컴퓨터의 핵심 기능인 커널이 갑자기 종료되거나 재부팅될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
spi: spi-imx: Add check for spi_imx_setupxfer()
Add check for the return value of spi_imx_setupxfer().
spi_imx->rx and spi_imx->tx function pointer can be NULL when
spi_imx_setupxfer() return error, and make NULL pointer dereference.
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
Call trace:
0x0
spi_imx_pio_transfer+0x50/0xd8
spi_imx_transfer_one+0x18c/0x858
spi_transfer_one_message+0x43c/0x790
__spi_pump_transfer_message+0x238/0x5d4
__spi_sync+0x2b0/0x454
spi_write_then_read+0x11c/0x200
📍 영향받는 시스템
spi-imx 드라이버를 사용하는 Linux 커널 기반 임베디드 시스템
⚔️ 공격 벡터
SPI 통신 설정 과정에서 의도적으로 오류를 유도하여 커널의 NULL 포인터 역참조를 발생시킴
🛡️ 대응 방법
spi_imx_setupxfer()의 반환 값을 검사하는 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 패치된 버전인지 확인합니다.