🇰🇷 한글 설명
Linux 커널의 SM8450 interconnect 드라이버에서 동적 IDs로 변환할 때 두 개의 링크가 누락되어 NULL 포인터 역참조 발생. 시스템 부팅 또는 드라이버 로드 시 커널 패닉을 유발합니다.
💡 쉬운 설명
Linux 커널의 특정 칩셋(SM8450) 연결 관리 코드에서 빠진 업데이트로 인해 존재하지 않는 메모리에 접근하려고 시도합니다. 시스템이 즉시 중단됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
interconnect: qcom: sm8450: Fix NULL pointer dereference in icc_link_nodes()
The change to dynamic IDs for SM8450 platform interconnects left two links
unconverted, fix it to avoid the NULL pointer dereference in runtime,
when a pointer to a destination interconnect is not valid:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
<...>
Call trace:
icc_link_nodes+0x3c/0x100 (P)
qcom_icc_rpmh_probe+0x1b4/0x528
platform_probe+0x64/0xc0
really_probe+0xc4/0x2a8
__driver_probe_device+0x80/0x140
driver_probe_device+0x48/0x170
__device_attach_driver+0xc0/0x148
bus_for_each_drv+0x88/0xf0
__device_attach+0xb0/0x1c0
device_initial_probe+0x58/0x68
bus_probe_device+0x40/0xb8
deferred_probe_work_func+0x90/0xd0
process_one_work+0x15c/0x3c0
worker_thread+0x2e8/0x400
kthread+0x150/0x208
ret_from_fork+0x10/0x20
Code: 900310f4 911d6294 91008280 94176078 (f94002a0)
---[ end trace 0000000000000000 ]---
Kernel panic - not syncing: Oops: Fatal exception
📍 영향받는 시스템
Qualcomm SM8450 플랫폼을 사용하는 Linux 커널 (동적 IDs 변경 이후 버전)
⚔️ 공격 벡터
로컬 공격자가 장치 드라이버 프로브 또는 시스템 초기화 단계에서 자동으로 트리거되는 코드 경로 실행
🛡️ 대응 방법
커널을 최신 패치 버전으로 업데이트하여 SM8450 interconnect 링크 변환 완료
🔧 검증 코드
명령 결과에서 'SM8450 enabled'가 출력되면 커널에 SM8450 지원이 활성화되어 있으므로 커널 버전 확인 후 패치 적용 여부 검증 필요
grep -q 'sm8450' /boot/config-$(uname -r) 2>/dev/null && echo 'SM8450 enabled, check kernel version' || echo 'SM8450 not found'