🇰🇷 한글 설명
Linux 커널의 SPI 하이시(hisi-kunpeng) 드라이버에서 펌웨어가 제공하는 max_frequency(max_speed_hz) 값이 0일 경우 hisi_calc_effective_speed() 함수에서 0으로 나누기 오류가 발생할 수 있습니다. 이를 방지하기 위해 0을 잘못된 값으로 간주하고 오류 코드를 반환하도록 검증 로직이 추가되었습니다.
💡 쉬운 설명
일부 서버 하드웨어 드라이버가 잘못된 설정값(0)을 받으면 시스템이 멈출 수 있는 문제가 있었습니다. 이번 패치는 그런 잘못된 값을 미리 걸러내어 시스템이 비정상 종료되지 않도록 합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware
If the value of max_speed_hz is 0, it may cause a division by zero
error in hisi_calc_effective_speed().
The value of max_speed_hz is provided by firmware.
Firmware is generally considered as a trusted domain. However, as
division by zero errors can cause system failure, for defense measure,
the value of max_speed is validated here. So 0 is regarded as invalid
and an error code is returned.
📍 영향받는 시스템
Linux 커널 SPI hisi-kunpeng 드라이버를 포함하는 Huawei Kunpeng 기반 서버 및 해당 커널 버전
⚔️ 공격 벡터
일반적으로 펌웨어는 신뢰된 영역으로 간주되므로 직접적인 원격 공격 경로는 제한적이며, 잘못되거나 손상된 펌웨어 값으로 인한 서비스 거부(DoS) 형태로 발생할 수 있습니다.
🛡️ 대응 방법
Linux 커널을 해당 CVE의 수정 사항이 포함된 최신 안정 버전으로 업데이트하십시오.
🔧 검증 코드
커널 버전이 패치가 반영된 버전 이상인지 확인하고, 소스에 max_speed_hz 0 검증 로직(if (!max_speed_hz) 등 오류 반환 구문)이 존재하면 패치가 적용된 것으로 판단합니다.
uname -r && grep -n 'max_speed_hz' /usr/src/linux/drivers/spi/spi-hisi-kunpeng.c 2>/dev/null || modinfo spi_hisi_kunpeng 2>/dev/null | head -5