🇰🇷 한글 설명
Linux 커널의 iommu/vt-d 구성에서 페이지 워크가 일관되지 않을 경우 더티 페이지 추적(dirty page tracking)이 비정상적으로 동작하는 취약점입니다. Intel VT-d 사양에 따라 스누핑이 지원되지 않는 환경에서 원자적 비트 업데이트를 시도하면 복구 불가능한 오류가 발생할 수 있습니다. 이를 해결하기 위해 ecap_slads와 ecap_smpwc가 모두 지원되는 경우에만 SSADS를 지원하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 메모리 관리 장치가 데이터를 수정했는지 확인하는 과정에서 데이터가 서로 일치하지 않아 시스템 오류가 발생할 수 있는 문제입니다. 특정 설정에서 하드웨어가 데이터를 제대로 업데이트하지 못해 시스템이 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Disallow dirty tracking if incoherent page walk
Dirty page tracking relies on the IOMMU atomically updating the dirty bit
in the paging-structure entry. For this operation to succeed, the paging-
structure memory must be coherent between the IOMMU and the CPU. In
another word, if the iommu page walk is incoherent, dirty page tracking
doesn't work.
The Intel VT-d specification, Section 3.10 "Snoop Behavior" states:
"Remapping hardware encountering the need to atomically update A/EA/D bits
in a paging-structure entry that is not snooped will result in a non-
recoverable fault."
To prevent an IOMMU from being incorrectly configured for dirty page
tracking when it is operating in an incoherent mode, mark SSADS as
supported only when both ecap_slads and ecap_smpwc are supported.
📍 영향받는 시스템
Intel VT-d를 사용하는 Linux 커널 시스템 (패치 적용 전 버전)
⚔️ 공격 벡터
직접적인 원격 공격보다는 특정 하드웨어 설정 및 IOMMU 구성 환경에서 시스템 오류를 유발하는 방식
🛡️ 대응 방법
최신 보안 패치가 적용된 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 최신 패치 버전인지 확인