🇰🇷 한글 설명
Linux 커널의 perf/core 구성 요소에서 NULL 포인터 역참조 취약점이 발견되었습니다. armv8pmu_sched_task 함수가 잘못된 컨텍스트를 전달받아 커널 패닉(Oops)을 유발할 수 있는 결함이 수정되었습니다.
💡 쉬운 설명
컴퓨터의 성능을 측정하는 기능에서 잘못된 메모리 주소를 참조하여 시스템이 갑자기 멈추거나 오류가 발생하는 문제입니다. 이 문제는 특정 하드웨어 환경에서 커널이 비정상적으로 종료될 수 있게 만듭니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
perf/core: Fix NULL pmu_ctx passed to pmu->sched_task()
perf_pmu_sched_task() returns early when cpuctx->task_ctx is set, and
cpc->task_epc is only non-NULL while a task context is scheduled in on
this CPU. __perf_pmu_sched_task() therefore always passes NULL:
Unable to handle kernel NULL pointer dereference at virtual address 00
pc : armv8pmu_sched_task+0x14/0x50
Call trace:
armv8pmu_sched_task+0x14/0x50 (P)
perf_pmu_sched_task+0xac/0x108
__perf_event_task_sched_out+0x6c/0xe0
Pass &cpc->epc instead, the CPU-wide context for this PMU, which the
function already dereferences a few lines up to find pmu.
armv8pmu_sched_task() is the only in-tree implementation that
dereferences the argument, and it only reads ->pmu, so the oops needs
BRBE, added in v6.17.
📍 영향받는 시스템
Linux kernel (v6.17 미만 버전 중 armv8pmu 관련 기능 사용 시스템)
⚔️ 공격 벡터
로컬 사용자가 특정 성능 모니터링(perf) 이벤트를 트리거하여 커널 오류를 유발할 수 있음
🛡️ 대응 방법
최신 보안 패치가 적용된 Linux 커널 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 버전(v6.17 이상 또는 배포판 보안 패치 적용 버전)인지 확인합니다.