🇰🇷 한글 설명
Linux 커널의 efi: stmm 구성 요소에서 setup_mm_hdr() 함수가 통신 버퍼를 할당할 때 잘못된 방식을 사용하는 취약점이 발견되었습니다. kmalloc()을 사용하여 할당된 버퍼가 연속된 페이지를 기대하는 tee_shm_register_kernel_buf() 함수로 전달되면서 메모리 오염이나 시스템 오류(BUG)를 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 메모리를 빌려 쓰는 방식에 오류가 있어 시스템이 고장 날 수 있는 문제입니다. 메모리가 연속적으로 붙어 있어야 하는데 흩어져 있는 공간을 사용하면서 데이터가 꼬이는 현상이 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
efi: stmm: Fix incorrect buffer allocation method
The communication buffer allocated by setup_mm_hdr() is later on passed
to tee_shm_register_kernel_buf(). The latter expects those buffers to be
contiguous pages, but setup_mm_hdr() just uses kmalloc(). That can cause
various corruptions or BUGs, specifically since commit 9aec2fb0fd5e
("slab: allocate frozen pages"), though it was broken before as well.
Fix this by using alloc_pages_exact() instead of kmalloc().
📍 영향받는 시스템
Linux kernel (efi: stmm 관련 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 메모리 할당 오류를 이용해 시스템의 메모리 오염 또는 커널 패닉을 유도할 수 있음
🛡️ 대응 방법
kmalloc() 대신 alloc_pages_exact()를 사용하도록 커널 패치를 적용하거나 최신 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인