🇰🇷 한글 설명
Linux 커널의 Xen-netback 구성 요소에서 게스트가 큐 개수를 0으로 설정할 수 있는 취약점이 발견되었습니다. 이로 인해 메모리 할당 과정에서 경고가 발생하며, 시스템 설정에 따라 호스트 전체의 서비스 거부(DoS)를 유발할 수 있습니다.
💡 쉬운 설명
악의적인 사용자가 가상 머신에서 네트워크 통로 개수를 0개로 설정하여 호스트 컴퓨터를 멈추게 할 수 있는 문제입니다. 이는 시스템이 잘못된 설정값으로 인해 오류를 일으키며 작동을 중단하기 때문에 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xen-netback: reject zero-queue configuration from guest
A malicious or buggy Xen guest can write "0" to the xenbus key
"multi-queue-num-queues". The connect() function in the backend only
validates the upper bound (requested_num_queues > xenvif_max_queues)
but not zero, allowing requested_num_queues=0 to reach
vzalloc(array_size(0, sizeof(struct xenvif_queue))), which triggers
WARN_ON_ONCE(!size) in __vmalloc_node_range().
On systems with panic_on_warn=1, this allows a guest-to-host denial
of service.
The Xen network interface specification requires
the queue count to be "greater than zero".
Add a zero check to match the validation already present
in xen-blkback, which has included this
guard since its multi-queue support was added.
📍 영향받는 시스템
Xen-netback을 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
악의적인 또는 버그가 있는 Xen 게스트가 xenbus 키에 '0' 값을 입력하여 백엔드 연결 시도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 0 값에 대한 검증 로직을 적용해야 합니다.
🔧 검증 코드
현재 사용 중인 커널 버전과 xen-netback 관련 드라이버 존재 여부를 확인하여 패치 적용 여부를 판단합니다.
uname -r && grep -r 'xen-netback' /lib/modules/$(uname -r)/kernel/drivers/net/ 2>/dev/null