🇰🇷 한글 설명
Linux 커널의 KVM SEV 구현에서 PSC 버퍼의 엔트리 및 인덱스를 읽을 때 TOCTOU(Time-of-Check to Time-of-Use) 취약점이 발견되었습니다. 이를 방지하기 위해 READ_ONCE()를 사용하여 게스트가 버퍼를 조작하여 발생하는 레이스 컨디션 공격을 차단하도록 수정되었습니다.
💡 쉬운 설명
가상 머신을 사용하는 공격자가 시스템의 보안 검사 과정 중에 데이터를 몰래 바꿔치기하여 시스템을 교란할 수 있는 결함입니다. 이를 막기 위해 데이터를 읽는 순간의 값을 고정하여 조작을 방지하는 보안 패치가 적용되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: SEV: Use READ_ONCE() when reading entries/indices from PSC buffer
Use READ_ONCE() when reading entries/indices from the guest-accessible
Page State Change buffer to defend against TOCTOU bugs.
Don't bother with READ_ONCE()/WRITE_ONCE() for cases where KVM is writing
(and not consuming the result!), as the guest isn't supposed to touch the
buffer while it's being processed. I.e. using READ_ONCE() is all about
protecting against misbehaving guests.
📍 영향받는 시스템
AMD SEV 기능을 사용하는 Linux 커널 기반 가상화 환경
⚔️ 공격 벡터
악의적인 게스트 OS가 KVM의 PSC 버퍼 데이터를 읽는 시점과 사용하는 시점 사이의 간극을 이용한 레이스 컨디션 공격
🛡️ 대응 방법
KVM의 SEV 관련 보안 패치가 적용된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전 이후인지 확인