CVE-2021-47282 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 05.

리눅스 커널에서 다음 취약점이 해결되었습니다:

spi: bcm2835: 슬레이브가 4개 초과일 때 경계 밖 접근(out-of-bounds access) 수정

커밋 571e31fa60b3("spi: bcm2835: ->prepare_message()를 위해 CS 레지스터 값 캐싱")은 컴파일 시점에 슬레이브 수를 3개로 제한했습니다. 이 제한은 각 슬레이브별 레지스터 값을 포함하는 드라이버 프라이빗 데이터 내의 정적 크기 배열인 prepare_cs[] 때문에 필요했습니다.

이 커밋은 컨트롤러의 num_chipselect를 3으로 설정하여 런타임에 해당 제한을 강제하려고 했습니다: 더 높은 칙셀렉트를 가진 슬레이브는 spi_add_device()에서 거부됩니다.

그러나 이 커밋은 num_chipselect가 *네이티브* 칙셀렉트의 수만 제한한다는 점을 간과했습니다. 장치 트리에 3개 이상의 슬레이브에 대해 GPIO 칙셀렉트가 지정된 경우, of_spi_get_gpio_numbers()는 num_chipselect를 조용히 증가시키며 그 결과 정적 크기 배열 prepare_cs[]에 대한 경계 밖 접근이 발생합니다.

안정성 버전으로 백포트 가능한 임시 해결책(bandaid fix)으로서 허용되는 슬레이브 수를 24로 늘리고("누구에게나 충분해야 합니다"), 슬레이브 ->setup에서 제한을 강제하며 num_chipselect를 3(컨트롤러가 지원하는 네이티브 칙셀렉트 수)으로 되돌립니다. 향후 for-next 커밋은 임의 개수의 슬레이브를 허용할 예정입니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

출처

Might our Artificial Intelligence support you?

Check our Alexa App!