🇰🇷 한글 설명
Linux 커널의 crypto ccp 구성 요소에서 TIO 동작 중 페이지 할당 실패를 올바르게 확인하지 못하는 취약점이 발견되었습니다. 메모리 압박 상황에서 페이지 할당이 실패하여 NULL이 반환될 경우, 잘못된 가상 주소를 참조하게 되어 시스템 오류나 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리가 부족할 때 시스템이 필요한 공간을 빌려오지 못하면, 잘못된 주소를 참조하여 컴퓨터가 갑자기 멈추거나 오류가 발생할 수 있는 문제입니다. 메모리 할당이 실패했는지 제대로 확인하지 않아 발생하는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
crypto: ccp - Check for page allocation failure correctly in TIO
Sashiko notes:
> if __snp_alloc_firmware_pages() returns NULL under memory pressure, is it
> safe to pass it directly to page_address()?
>
> On architectures without HASHED_PAGE_VIRTUAL, page_address(NULL) might
> compute a deterministic but invalid, non-zero virtual address. The
> subsequent if (tio_status) check would then evaluate to true, and
> sev_tsm_init_locked() would dereference the invalid pointer.
Indeed, page_address(NULL) will return non-NULL garbage here. Fix this by
checking the page allocation itself for NULL, not the resulting virtual
address.
📍 영향받는 시스템
Linux kernel (crypto: ccp 관련 모듈 사용 시스템)
⚔️ 공격 벡터
메모리 압박(Memory Pressure) 상황을 유도하여 잘못된 메모리 주소 참조를 유발하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인하십시오.