Bug 2502593 (CVE-2026-64115) - CVE-2026-64115 kernel: vsock/vmci: fix UAF when peer resets connection during handshake
Summary: CVE-2026-64115 kernel: vsock/vmci: fix UAF when peer resets connection during...
Keywords:
Status: NEW
Alias: CVE-2026-64115
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-19 17:07 UTC by OSIDB Bzimport
Modified: 2026-11-11 11:32 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:77498 0 None None None 2026-10-07 18:52:09 UTC
Red Hat Product Errata RHSA-2026:77500 0 None None None 2026-10-07 11:21:57 UTC
Red Hat Product Errata RHSA-2026:77689 0 None None None 2026-10-08 10:51:56 UTC
Red Hat Product Errata RHSA-2026:77690 0 None None None 2026-10-08 09:52:25 UTC
Red Hat Product Errata RHSA-2026:97873 0 None None None 2026-11-10 22:14:00 UTC
Red Hat Product Errata RHSA-2026:98608 0 None None None 2026-11-11 11:32:54 UTC

Description OSIDB Bzimport 2026-07-19 17:07:57 UTC
In the Linux kernel, the following vulnerability has been resolved:

vsock/vmci: fix UAF when peer resets connection during handshake

vmci_transport_recv_connecting_server() returned err = 0 for a peer
RST in its default switch arm:

	err = pkt->type == VMCI_TRANSPORT_PACKET_TYPE_RST ? 0 : -EINVAL;

That made vmci_transport_recv_listen() skip vsock_remove_pending(),
leaving the pending socket on the listener's pending_links with
sk_state = TCP_CLOSE while destroy: still dropped the explicit
reference taken before schedule_delayed_work().

One second later vsock_pending_work() observed is_pending=true and
performed full cleanup: vsock_remove_pending() then the two trailing
sock_put(sk) calls -- the first reached refcount 0 and __sk_freed
the socket, and the second wrote into the freed object:

  BUG: KASAN: slab-use-after-free in refcount_warn_saturate
  Write of size 4 at addr ffff88800b1cac80 by task kworker
  Workqueue: events vsock_pending_work

Treat peer RST like any other unexpected packet type (err = -EINVAL).
All destroy: arms now return err < 0, so vmci_transport_recv_listen()
removes pending from pending_links synchronously and
vsock_pending_work() takes the is_pending=false / !rejected branch,
dropping only its own work reference.  This also closes the
multi-packet race Sashiko reported on v2: pending is removed from
the list before any subsequent packet can find it.

The pre-existing sk_acceptq_removed() gap on the err < 0 path of
vmci_transport_recv_listen() that Sashiko also noted is not
introduced or changed by this patch.

Tested on lts-6.12.79 with KASAN: 52/100 unpatched -> 0/100 patched.

Comment 3 Jon Orris 2026-10-07 11:21:56 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:77500 https://access.redhat.com/errata/RHSA-2026:77500

Comment 4 Jon Orris 2026-10-07 18:52:08 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:77498 https://access.redhat.com/errata/RHSA-2026:77498

Comment 5 Jon Orris 2026-10-08 09:52:24 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:77690 https://access.redhat.com/errata/RHSA-2026:77690

Comment 6 Jon Orris 2026-10-08 10:51:55 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:77689 https://access.redhat.com/errata/RHSA-2026:77689

Comment 7 errata-xmlrpc 2026-11-10 22:13:59 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:97873 https://access.redhat.com/errata/RHSA-2026:97873

Comment 8 errata-xmlrpc 2026-11-11 11:32:53 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:98608 https://access.redhat.com/errata/RHSA-2026:98608


Note You need to log in before you can comment on or make changes to this bug.