🇰🇷 한글 설명
Linux 커널의 vsock 구성 요소에서 VMADDR_PORT_ANY 포트로 바인딩하는 것을 허용하여 발생하는 취약점입니다. 이로 인해 연결 시 Use-After-Free(UAF) 오류가 발생할 수 있으며, 이는 시스템 안정성을 해치거나 보안 위협이 될 수 있습니다.
💡 쉬운 설명
컴퓨터 내부 통신 통로인 vsock에서 포트 번호를 지정하지 않고 연결을 시도할 때 발생하는 오류입니다. 이 오류를 이용하면 시스템 메모리 관리 체계에 혼란을 주어 프로그램이 강제 종료되거나 해킹에 이용될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vsock: Do not allow binding to VMADDR_PORT_ANY
It is possible for a vsock to autobind to VMADDR_PORT_ANY. This can
cause a use-after-free when a connection is made to the bound socket.
The socket returned by accept() also has port VMADDR_PORT_ANY but is not
on the list of unbound sockets. Binding it will result in an extra
refcount decrement similar to the one fixed in fcdd2242c023 (vsock: Keep
the binding until socket destruction).
Modify the check in __vsock_bind_connectible() to also prevent binding
to VMADDR_PORT_ANY.
📍 영향받는 시스템
VMADDR_PORT_ANY 바인딩이 허용되는 버전의 Linux Kernel (vsock 모듈 포함)
⚔️ 공격 벡터
특정 포트 번호 대신 VMADDR_PORT_ANY를 사용하여 vsock 소켓 바인딩을 시도함으로써 메모리 참조 오류 유도
🛡️ 대응 방법
커널 업데이트를 통해 __vsock_bind_connectible() 함수 내의 VMADDR_PORT_ANY 바인딩 방지 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인