UPSTREAM: vsock: Do not allow binding to VMADDR_PORT_ANY
commit aba0c94f61ec05315fa7815d21aefa4c87f6a9f4 upstream. 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. Bug: 439253642 Fixes: d021c344 ("VSOCK: Introduce VM Sockets") Reported-by:Budimir Markovic <markovicbudimir@gmail.com> Signed-off-by:
Budimir Markovic <markovicbudimir@gmail.com> Reviewed-by:
Stefano Garzarella <sgarzare@redhat.com> Link: https://patch.msgid.link/20250807041811.678-1-markovicbudimir@gmail.com Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 32950b1907919be86a7a2697d6f93d57068b3865) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: I5726b83785f2b49b21d5f41aa247fccd6fda71b2
Loading