🇰🇷 한글 설명
Linux 커널의 coreboot 펌웨어 처리 과정에서 테이블 경계 검증 미흡으로 인한 취약점입니다. 악의적으로 조작된 테이블을 통해 32비트 크기 계산 오버플로를 유발하거나 리소스 범위를 벗어난 메모리를 매핑하여 외부 메모리에 접근할 수 있습니다.
💡 쉬운 설명
컴퓨터의 기본 부팅 소프트웨어가 데이터를 읽을 때, 데이터의 크기를 잘못 계산하여 허용되지 않은 메모리 영역까지 읽어버리는 문제입니다. 이를 통해 해커가 시스템의 중요한 정보를 훔쳐보거나 조작할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
firmware: coreboot: Validate table bounds
The existing coreboot_table_populate() bounds checks limit individual
entries to the mapped length. However, coreboot_table_probe() replaces
the platform resource length with header and table sizes supplied by
firmware before mapping the full table.
A malformed table can overflow the 32-bit size addition or advertise an
extent beyond the resource, causing the driver to map and parse memory
outside the resource. A resource shorter than the fixed header is also
mapped as though it contained a complete header.
Reject resources shorter than the fixed header. After validating the
signature, require a complete header, calculate the advertised extent
with overflow checking, and reject extents beyond the resource before
remapping the table.
📍 영향받는 시스템
Linux Kernel (coreboot firmware 관련 드라이버 포함 버전)
⚔️ 공격 벡터
조작된 coreboot 테이블을 제공하여 메모리 오버플로 및 경계 검증 우회
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인