CVE-2022-49886 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 12.

리눅스 커널에서 다음 취약점이 해결되었습니다:

x86/tdx: "private" 메모리 접근 시 #VE를 발생시키는 잘못된 구성에 대해 패닉 처리

모든 정상적인 커널 메모리는 "TDX private memory(비공개 메모리)"입니다. 여기에는 커널 스택부터 커널 텍스트까지 모든 것이 포함됩니다. 임의의 커널 메모리에 대한 접근에서 발생하는 예외를 처리하는 것은 커널 진입/종료와 같은 매우 치명적인 위치에서 발생할 수 있기 때문에 본질적으로 불가능합니다. 그러나 TDX 하드웨어는 이론적으로 비공개 메모리에 대한 어떤 접근에서도 가상화 예외(#VE)를 *전달*할 수 있습니다.

하지만 생각만큼 나쁜 일은 아닙니다. "TD attribute"라고 불리는 ATTR_SEPT_VE_DISABLE라는 속성을 사용하여 TDX가 private memory에 대해 이러한 예외를 절대 전달하지 않도록 구성할 수 있습니다. 게스트는 이 속성을 *설정*할 수는 없지만, 이를 확인할 수는 있습니다.

초기 부팅 단계에서 ATTR_SEPT_VE_DISABLE가 설정되어 있는지 확인합니다. 만약 해제된 상태라면 panic()을 호출합니다. Linux는 해당 속성이 클리어된 상태로 실행되는 것이 합리적이지 않으므로 panic() 처리가 적절합니다.

체크 전에 초기 #VE 핸들러를 가진 부팅 과정 중 짧은 시간 창이 존재합니다. 그러나 이 핸들러는 포트 I/O 전용이며, private memory 접근에 의해 생성된 것과 같은 다른 모든 #VE를 감지하는 즉시 역시 panic()을 호출합니다.

[ dhansen: 변경 로그 재작성 및 새로운 tdx_parse_tdinfo() 기반으로 리베이스.
Kirill의 tested-by 추가 (이 내용을 작성한 이후 제가 수정 사항을 적용했기 때문). ]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2025. 05. 01.

모더레이션

수락

항목

VDB-307047

EPSS

0.00140

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!