CVE-2026-89488: openvswitch: Fix CT limit teardown use-after-free

Published Sep 11, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

openvswitch: Fix CT limit teardown use-after-free

Packet processing uses CT limit state under RCU, while netns teardown frees that state under ovsmutex. The CT limit pointer was neither removed from readers nor protected by a grace period, allowing packet processing to dereference the freed state.

An unprivileged user can trigger this bug from a user and network namespace, causing a slab-use-after-free in ovsctexecute() when the netns is torn down.

Publish the CT limit pointer through RCU, remove it before teardown, and wait for readers before freeing its contents. Keep ovsmutex around individual CT limit updates, and use the RCU read-side lock while GET traverses the RCU-protected limit lists.

Netns teardown detaches the RCU-protected CT limit state in the pernet .preexit callback while holding ovsmutex. The pernet core guarantees an RCU grace period between the .preexit and .exit callbacks, so the .exit callback completes the teardown without adding any extra synchronization.

The netlink command handlers do not need NULL checks because the userspace netlink socket holds an active reference to its network namespace while a request is processed. The per-netns exit path therefore cannot run concurrently with SET, DEL, or GET for that socket's namespace.

Affected Software

1 affected component
Open vSwitch Linux kernel Open vSwitch (openvswitch)

Event History

Sep 11, 2026
CVE Published
via MITRE·07:43 PM
Data Sourced
via MITRE·07:43 PM
Description

Frequently Asked Questions

1

Who can trigger this issue?

An unprivileged user can trigger it from a user namespace and a network namespace. The trigger involves tearing down the network namespace while packet processing can still access CT limit state.

2

What component and operation are involved in exploitation?

The issue affects Open vSwitch CT limit state handling in the Linux kernel. It can cause a slab use-after-free in ovs_ct_execute() because packet processing may dereference CT limit state after network-namespace teardown frees it.

3

How does the resolved code prevent the use-after-free?

The fix publishes the CT limit pointer through RCU, removes it before teardown, and waits for RCU readers before freeing its contents. CT limit state is detached during the per-network-namespace pre-exit callback while ovs_mutex is held.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203