🔍 CVE-2025-40292

8.4
CVSS Score
HIGH
2025-12-08
2026-10-15 22:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 virtio-net 드라이버에서 대형 패킷 수신 시 길이 검증 로직에 결함이 발견되었습니다. 악의적인 호스트가 잘못된 버퍼 길이를 전달할 경우, 할당된 크기보다 큰 데이터를 수신할 때 NULL 페이지 포인터 역참조가 발생할 수 있습니다.

💡 쉬운 설명

가상 머신이 네트워크 데이터를 받을 때, 데이터 크기를 제대로 확인하지 못해 시스템이 멈추거나 오류가 발생할 수 있는 문제입니다. 공격자가 조작된 데이터를 보내면 컴퓨터의 핵심 기능이 마비될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: virtio-net: fix received length check in big packets Since commit 4959aebba8c0 ("virtio-net: use mtu size as buffer length for big packets"), when guest gso is off, the allocated size for big packets is not MAX_SKB_FRAGS * PAGE_SIZE anymore but depends on negotiated MTU. The number of allocated frags for big packets is stored in vi->big_packets_num_skbfrags. Because the host announced buffer length can be malicious (e.g. the host vhost_net driver's get_rx_bufs is modified to announce incorrect length), we need a check in virtio_net receive path. Currently, the check is not adapted to the new change which can lead to NULL page pointer dereference in the below while loop when receiving length that is larger than the allocated one. This commit fixes the received length check corresponding to the new change.

📍 영향받는 시스템

Linux kernel (virtio-net driver 사용 환경)

⚔️ 공격 벡터

악의적인 호스트가 vhost_net 드라이버를 통해 조작된 버퍼 길이를 전달하여 공격

🛡️ 대응 방법

커널 패치(commit 4959aebba8c0 관련 수정 사항 포함)를 적용하여 최신 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel