🇰🇷 한글 설명
Linux 커널의 vhost_vdpa 드라이버에서 경계 검사 누락으로 인해 vdpa_sim 모듈의 ASID(Address Space ID) 할당 시 ngroups 범위를 초과하는 값이 할당될 수 있습니다. 이로 인해 메모리 영역을 벗어난 쓰기(out of bounds write) 공격이 가능하며 커널 메모리 손상 및 권한 상승으로 이어질 수 있습니다.
💡 쉬운 설명
Linux 커널의 가상 네트워크 장치 드라이버에서 숫자 범위 검사를 제대로 하지 않아, 허용 범위를 벗어난 메모리에 데이터를 쓸 수 있습니다. 이를 악용하면 시스템을 제어할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vhost: move vdpa group bound check to vhost_vdpa
Remove duplication by consolidating these here. This reduces the
posibility of a parent driver missing them.
While we're at it, fix a bug in vdpa_sim where a valid ASID can be
assigned to a group equal to ngroups, causing an out of bound write.
📍 영향받는 시스템
Linux kernel 5.15+ with vhost_vdpa/vdpa_sim module enabled
⚔️ 공격 벡터
Local: unprivileged user with access to /dev/vhost-vdpa can trigger out of bounds write through invalid ASID assignment
🛡️ 대응 방법
커널 패치 적용 (vhost_vdpa의 그룹 경계 검사 강화 또는 vdpa_sim ASID 할당 로직 수정)
🔧 검증 코드
vhost_vdpa 모듈 버전과 커널 버전을 확인하여 패치된 버전(일반적으로 5.15.6+ 또는 후속 LTS 버전)이 설치되었는지 확인합니다. 커널 설정에서 vhost_vdpa가 활성화되어 있는지 확인하면 시스템의 취약점 노출 여부를 판단할 수 있습니다.
modinfo vhost_vdpa 2>/dev/null | grep -i version || uname -r | grep -E '^[0-9]' && cat /boot/config-$(uname -r) 2>/dev/null | grep -i vhost_vdpa