🇰🇷 한글 설명
Linux 커널의 pinctrl mcp23s08 드라이버에서 초기화 순서 오류로 인해 NULL 포인터 역참조가 발생할 수 있는 취약점입니다. regmap 초기화 과정에서 SPI 읽기를 시도할 때 mcp->dev와 mcp->addr가 설정되지 않아 시스템 충돌이 발생할 수 있습니다.
💡 쉬운 설명
장치를 작동시키기 위한 준비 순서가 잘못되어, 컴퓨터가 필요한 정보를 찾기 전에 미리 작동을 시도하다가 멈춰버리는 문제입니다. 이로 인해 시스템이 갑자기 꺼지거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
pinctrl: mcp23s08: Initialize mcp->dev and mcp->addr before regmap init
Regmap initialization triggers regcache_maple_populate() which attempts
SPI read to populate cache. SPI read requires mcp->dev and mcp->addr to
be set, without them, NULL pointer dereference occurs during probe.
Move initialization before mcp23s08_spi_regmap_init() call.
📍 영향받는 시스템
mcp23s08 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 공격자가 취약한 드라이버를 로드하거나 관련 하드웨어를 조작하여 시스템을 충돌시킬 수 있음
🛡️ 대응 방법
mcp23s08_spi_regmap_init() 호출 전에 mcp->dev와 mcp->addr를 초기화하도록 커널 패치를 적용하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전인지 배포판 보안 공지를 통해 확인하십시오.