🇰🇷 한글 설명
Linux 커널의 ACPI NFIT 드라이버에서 vmalloc 영역의 경계 외 읽기(Out-of-bounds Read) 취약점이 발견되었습니다. cmd_to_func 함수가 입력 버퍼의 크기를 적절히 검증하지 않고 nd_reserved2 배열에 접근함으로써 발생하며, 이는 정의되지 않은 동작을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 전원 관리 시스템을 담당하는 소프트웨어에서 데이터의 크기를 제대로 확인하지 않고 읽으려 할 때 발생하는 오류입니다. 이로 인해 시스템이 예상치 못한 동작을 하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl
Fix an issue detected by syzbot with KASAN:
BUG: KASAN: vmalloc-out-of-bounds in cmd_to_func drivers/acpi/nfit/
core.c:416 [inline]
BUG: KASAN: vmalloc-out-of-bounds in acpi_nfit_ctl+0x20e8/0x24a0
drivers/acpi/nfit/core.c:459
The issue occurs in cmd_to_func when the call_pkg->nd_reserved2
array is accessed without verifying that call_pkg points to a buffer
that is appropriately sized as a struct nd_cmd_pkg. This can lead
to out-of-bounds access and undefined behavior if the buffer does not
have sufficient space.
To address this, a check was added in acpi_nfit_ctl() to ensure that
buf is not NULL and that buf_len is less than sizeof(*call_pkg)
before accessing it. This ensures safe access to the members of
call_pkg, including the nd_reserved2 array.
📍 영향받는 시스템
Linux Kernel (ACPI NFIT 드라이버 포함 버전)
⚔️ 공격 벡터
조작된 ACPI NFIT 명령 패키지를 통해 메모리 경계 외 영역에 접근 시도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인합니다.