CVE-2023-52874 in Linux
요약
\~에 의해 VulDB • 2026. 06. 02.
리눅스 커널에서 다음 취약점이 해결되었습니다:
x86/tdx: TDX_HYPERCALL 매크로에서 누락된 RSI를 0으로 초기화하십시오
TDX_HYPERCALL 어셈블리 코드에서는 신뢰할 수 없는 VMM(가상 머신 모니터)로부터의 반환 후, TDCALL 명령어가 실행되면 VMM이 공유하는 레지스터 값을 추측 실행(speculative execution)으로부터 보호하기 위해 해당 레지스터들을 0으로 초기화해야 합니다.
RSI는 이러한 레지스터들의 비트맵에 명시되어 있지만, 현재 TDX_HYPERCALL 구현에서는 이 레지스터들을 0으로 초기화하는 과정에서 누락되었습니다.
원래 커밋 752d13305c78("x86/tdx: __tdx_hypercall()을 확장하여 더 많은 인수 처리")에서 추가되었을 때는 존재했지만, 이후 커밋 1e70c680375a("x86/tdx: __tdx_hypercall()에서 프레임 포인터 손상 방지")에서 제거되었습니다. 당시에는 %rsi가 나중에 "pop %rsi" 명령어를 통해 복원되었기 때문에 이 조치가 적절했습니다. 그러나 이후 커밋 7a3a401874be("x86/tdx: __tdx_hypercall()에서 플래그 제거")에서 "pop %rsi"가 제거되었으나, 이에 대응하는 "xor %rsi, %rsi"(RSI를 0으로 초기화) 명령어가 다시 추가되지 않았습니다.
이를 해결하기 위해 누락된 초기화 코드를 다시 추가합니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.