🇰🇷 한글 설명
Linux 커널의 x86 플랫폼 ISST 드라이버에서 perf mask ioctl 호출 시 입력된 레벨 값을 검증하지 않는 취약점이 발견되었습니다. 이로 인해 잘못된 인덱스가 사용될 경우 배열 범위를 벗어난 메모리 읽기(Out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 성능 조절 기능을 사용하는 과정에서 잘못된 숫자를 입력하면, 시스템이 허용되지 않은 메모리 영역을 읽어버리는 문제입니다. 이는 시스템의 정보를 유출하거나 불안정하게 만들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
platform/x86: ISST: Validate level in perf mask ioctls
isst_if_get_perf_level_mask() and isst_if_get_base_freq_mask() use the
user-provided level as an index into perf_levels[] via
_read_pp_level_info() and _read_bf_level_info(), but neither helper
validates it first.
The adjacent level-info helpers reject levels above max_level before
reading the same per-level register block. Add the same bounds checks to
the mask helpers, and reject disabled SST-PP levels in
isst_if_get_perf_level_mask() to match isst_if_get_perf_level_info().
This prevents out-of-bounds reads from the per-level offset table on
invalid ioctl input.
📍 영향받는 시스템
Linux kernel (x86 platform with ISST driver)
⚔️ 공격 벡터
로컬 공격자가 조작된 ioctl 명령을 통해 잘못된 레벨 인덱스를 전달하여 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 입력값 검증 로직을 적용해야 함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 이후의 버전인지 확인하십시오.