🇰🇷 한글 설명
GRUB의 시리얼 명령어가 전달받은 MMIO 기본 주소에 대한 검증이 불충분하여 발생하는 취약점입니다. 공격자는 이를 악용하여 임의의 메모리 주소에 데이터를 기록함으로써, Secure Boot 환경에서도 lockdown 제한을 우회하고 서명되지 않은 GRUB 모듈을 로드할 수 있습니다.
💡 쉬운 설명
컴퓨터가 켜질 때 실행되는 부팅 프로그램(GRUB)의 보안 검사 기능을 속이는 취약점입니다. 이를 통해 해커는 보안 설정이 켜져 있는 것처럼 보이게 만들면서도, 실제로는 허가되지 않은 악성 프로그램을 몰래 실행할 수 있습니다.
🇺🇸 원문 (English)
A local attacker with control over GRUB's configuration can bypass lockdown restrictions when booting with Secure Boot and load an unsigned GRUB module, while GRUB continues to report lockdown is enabled.
The vulnerability is caused by insufficient validation of the MMIO base address passed to the GRUB serial command. GRUB does not validate that the base address corresponds to a UART device, rather than being an arbitrary memory address. This allows an attacker to trick GRUB into writing non-arbitrary data at an attacker-controlled address, including resetting the grub_file_verifiers list in a way that disables the subsequent verification of loaded modules.
📍 영향받는 시스템
GRUB 부트로더 (MMIO 주소 검증 로직이 포함된 버전)
⚔️ 공격 벡터
로컬 공격자가 GRUB 설정 파일을 조작하여 시리얼 명령의 MMIO 주소를 임의의 메모리 주소로 설정
🛡️ 대응 방법
GRUB 부트로더를 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
설치된 GRUB 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 제조사 보안 권고안과 비교
grub-install --version 2>/dev/null || echo 'GRUB not found'