🇰🇷 한글 설명
Linux 커널의 x86/tdx 아키텍처에서 포트 I/O 처리 시 발생하는 오프바이원(off-by-one) 오류가 수정되었습니다. GENMASK 함수 사용 시 마스크 비트가 실제 크기보다 1비트 더 넓게 설정되어 데이터 처리에 오류가 발생할 수 있는 취약점입니다.
💡 쉬운 설명
컴퓨터가 데이터를 주고받을 때 사용하는 통로의 크기를 계산하는 과정에서 실수로 1비트를 더 크게 잡는 버그가 발견되었습니다. 이로 인해 데이터가 잘못 전달되거나 시스템 동작에 오류가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
x86/tdx: Fix off-by-one in port I/O handling
handle_in() and handle_out() in arch/x86/coco/tdx/tdx.c use:
u64 mask = GENMASK(BITS_PER_BYTE * size, 0);
GENMASK(h, l) includes bit h. For size=1 (INB), this produces
GENMASK(8, 0) = 0x1FF (9 bits) instead of GENMASK(7, 0) = 0xFF (8
bits). The mask is one bit too wide for all I/O sizes.
Fix the mask calculation.
📍 영향받는 시스템
x86 아키텍처 기반의 Intel TDX 기술을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특수하게 조작된 포트 I/O 요청을 통해 메모리 또는 데이터 처리 오류 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인