🇰🇷 한글 설명
Linux 커널의 IIO adf4377 드라이버에서 clk_init_data 및 clk_parent_data 구조체가 완전히 초기화되지 않아 발생하는 취약점입니다. 특정 커널 설정이 활성화된 경우 초기화되지 않은 메모리 값이 사용되어 시스템 충돌(Crash)을 유발할 수 있습니다.
💡 쉬운 설명
하드웨어 시계(Clock)를 설정하는 과정에서 컴퓨터가 사용하지 않는 메모리 영역을 깨끗하게 비우지 않아 오류가 발생하는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 꺼지는 현상이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iio: frequency: adf4377: Fully initialize clk_init_data and clk_parent_data
The clk_init_data structure contains several mutually-exclusive members
for different methods to specify the possible parents of a clock,
prompting drivers to initialize only the members they need. However,
not initializing all members may cause subtle issues, which are only
exposed when CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE is
enabled.
adf4377_clk_register() fills in init.parent_data, and assumes that
init.parent_names is NULL. However, the latter is uninitialized, and
thus may cause a crash.
Similarly, adf4377_clk_register() fills in only parent_data.fw_name,
leaving other members of the clk_parent_data structure uninitialized.
Make sure all members are fully initialized, to fix such bugs, and to
avoid future breakage when converting drivers to a different method for
specifying the parents.
📍 영향받는 시스템
Linux kernel (adf4377 드라이버를 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 커널 설정 환경에서 드라이버를 조작하여 시스템 충돌 유도 가능
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인