---
id: "CVE-2026-98490"
kind: "vulnerability"
aliases: ["CVE-2026-98490"]
title: "Linux kernel: conntrack helper use-after-free in Open vSwitch connection tracking"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["kernel", "linux", "openvswitch", "runtime"]
not_affected_if: []
published_at: "2026-10-18T16:16:59+00:00"
first_seen_at: "2026-10-23T21:57:15+00:00"
updated_at: "2026-10-25T05:25:41+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98490", "first_seen_at": "2026-10-23T21:57:15+00:00"}]
---

# Linux kernel: conntrack helper use-after-free in Open vSwitch connection tracking

In the Linux kernel's Open vSwitch connection tracking code, a helper can keep a stale pointer to a connection's extension area after that area is reallocated, and the stale pointer is later accessed. The sources do not state what an attacker gets beyond a use-after-free in kernel memory.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- unknown

## Fix

- unknown

## Timeline

- 2026-10-23T21:57:15+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-98490

## From the sources

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

net: openvswitch: conntrack: fix helper UAF due to extensions realloc

While calling the helpers, a raw pointer to the extensions area is
wired into expectations list:

  -> nf_ct_helper()
   -> helper->help()
    -> nf_ct_expect_related_report()
     -> nf_ct_expect_insert()
      -> hlist_add_head_rcu(&exp->lnode, &master_help->expectations)

In case the connection is not confirmed yet, more extensions can be
added afterwards with *_ext_add() calls reallocating the extension
space and leaving the now invalid pointer in the expectations list
that is later accessed while removing the expectation.

Make sure that helpers are called at the end after all the other
extensions are already added.

Note that the helper rejection now leaves the mark and labels set,
but that's not different from how the NAT was handled before or how
the mark and the labels were handled on confirmation failure.  And
there are no atomicity guarantees provided by the API anyway.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
