🇰🇷 한글 설명
Linux 커널의 OPP(Operating Performance Points) 서브시스템에서 dev_pm_opp_get_required_pstate() 함수가 IS_ERR_OR_NULL() 검사 이전에 opp 포인터를 역참조하는 문제가 있었습니다. 이로 인해 잠재적인 NULL 포인터 역참조가 발생할 수 있으며, 이를 해결하기 위해 opp_table을 미리 캐싱하고 사용 시점에 직접 역참조하도록 수정되었습니다.
💡 쉬운 설명
전력 및 성능 상태를 관리하는 커널 코드에서 검사 전에 잘못된 주소를 사용할 수 있는 실수가 발견되었습니다. 이 실수는 시스템이 비정상적으로 멈추거나 불안정해지는 원인이 될 수 있어 코드 순서를 바로잡았습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
OPP: Fix potential null ptr dereference in dev_pm_opp_get_required_pstate()
"opp" pointer is dereferenced before the IS_ERR_OR_NULL() check. Fix it by
removing the dereference to cache opp_table and dereference it directly
where opp_table is used.
This fixes the following smatch warning:
drivers/opp/core.c:232 dev_pm_opp_get_required_pstate() warn: variable
dereferenced before IS_ERR check 'opp' (see line 230)
📍 영향받는 시스템
패치 이전의 Linux 커널을 사용하는 시스템 (OPP 기능을 사용하는 DVFS 지원 장치 중심)
⚔️ 공격 벡터
로컬 공격자가 특정 장치 드라이버 조작을 통해 NULL 포인터 역참조를 유발하여 커널 패닉 또는 서비스 거부(DoS)를 일으킬 수 있음
🛡️ 대응 방법
해당 수정이 포함된 최신 Linux 커널 버전으로 업데이트하거나 배포판의 보안 패치를 적용
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지 또는 upstream 수정 커밋이 포함된 버전과 비교하여, 해당 수정이 반영된 버전 이상인지 확인