🇰🇷 한글 설명
Linux 커널의 vsock 모듈에서 transport에서 할당 해제된 소켓에 접근할 때 null pointer dereference가 발생할 수 있습니다. vsock_*_has_data() 또는 vsock_*_has_space() 함수 호출 시 유효하지 않은 메모리를 참조하여 시스템 불안정화를 야기합니다. 패치는 경고와 함께 안전한 반환값(0)을 제공하여 완화합니다.
💡 쉬운 설명
Linux 시스템에서 가상 소켓 통신 중 일부 소켓이 올바르게 정리되지 않아 프로그램이 존재하지 않는 메모리에 접근하려고 할 때 발생합니다. 이로 인해 시스템이 불안정해지거나 서비스 거부 상황이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vsock: prevent null-ptr-deref in vsock_*[has_data|has_space]
Recent reports have shown how we sometimes call vsock_*_has_data()
when a vsock socket has been de-assigned from a transport (see attached
links), but we shouldn't.
Previous commits should have solved the real problems, but we may have
more in the future, so to avoid null-ptr-deref, we can return 0
(no space, no data available) but with a warning.
This way the code should continue to run in a nearly consistent state
and have a warning that allows us to debug future problems.
📍 영향받는 시스템
Linux 커널 5.10 이상을 사용하는 모든 시스템, 특히 KVM/QEMU 가상머신 환경의 호스트 및 게스트 OS
⚔️ 공격 벡터
로컬 공격자가 vsock 소켓의 비정상적 해제를 유발하거나 특정 타이밍에 has_data/has_space 함수 호출을 트리거
🛡️ 대응 방법
Linux 커널을 CVE-2025-21666 패치가 포함된 버전(일반적으로 6.14-rc1 이상)으로 업데이트
🔧 검증 코드
출력된 커널 버전이 패치 포함 버전보다 낮으면 커널 업데이트 필요 (sudo apt update && sudo apt upgrade로 Linux 이미지 패키지 업데이트)