vsock/virtio: Initialization of the dangling pointer occurring in vsk->trans
authorHyunwoo Kim <v4bel@theori.io>
Tue, 22 Oct 2024 07:32:56 +0000 (09:32 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 6 Nov 2024 08:30:20 +0000 (03:30 -0500)
During loopback communication, a dangling pointer can be created in
vsk->trans, potentially leading to a Use-After-Free condition.  This
issue is resolved by initializing vsk->trans to NULL.

Cc: stable <stable@kernel.org>
Fixes: 06a8fc78367d ("VSOCK: Introduce virtio_vsock_common.ko")
Signed-off-by: Hyunwoo Kim <v4bel@theori.io>
Signed-off-by: Wongi Lee <qwerty@theori.io>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Message-Id: <2024102245-strive-crib-c8d3@gregkh>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
net/vmw_vsock/virtio_transport_common.c

index ccbd2bc..fc5666c 100644 (file)
@@ -1109,6 +1109,7 @@ void virtio_transport_destruct(struct vsock_sock *vsk)
        struct virtio_vsock_sock *vvs = vsk->trans;
 
        kfree(vvs);
+       vsk->trans = NULL;
 }
 EXPORT_SYMBOL_GPL(virtio_transport_destruct);