🇰🇷 한글 설명
Linux 커널의 Meson SPICC SPI 드라이버에서 제거 경로 중 참조 카운트가 중복으로 감소하는 double-put 취약점입니다. devm 매니지드 리소스는 자동으로 cleanup되는데, 추가로 spi_controller_put()을 호출하면서 참조 카운트 언더플로우가 발생합니다. 이는 메모리 손상, 시스템 불안정, 정보 유출로 이어질 수 있습니다.
💡 쉬운 설명
SPI 드라이버가 메모리 참조를 두 번 해제하면서 메모리 손상이 발생합니다. 공격자가 드라이버를 언로드하거나 재로드할 때 시스템 안정성을 손상시킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
spi: meson-spicc: Fix double-put in remove path
meson_spicc_probe() registers the controller with
devm_spi_register_controller(), so teardown already drops the
controller reference via devm cleanup.
Calling spi_controller_put() again in meson_spicc_remove()
causes a double-put.
📍 영향받는 시스템
Meson SPICC 드라이버가 포함된 Linux 커널 (ARM 기반 SoC, Amlogic 등)
⚔️ 공격 벡터
로컬 공격자가 모듈 언로드/재로드를 통해 메모리 손상 유발
🛡️ 대응 방법
Linux 커널을 double-put이 수정된 최신 버전(6.1.82 이상)으로 업데이트
🔧 검증 코드
커널 버전 확인 후 6.1.82 이상인지 검증하고, spi 드라이버 로드 상태를 확인합니다.
cat /proc/version | grep -oP '\d+\.\d+\.\d+' && lsmod | grep -E 'meson_spicc|spi'