{"id":"CVE-2026-98490","kind":"vulnerability","aliases":["CVE-2026-98490"],"related":[],"title":"Linux kernel: conntrack helper use-after-free in Open vSwitch connection tracking","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: conntrack: fix helper UAF due to extensions realloc\n\nWhile calling the helpers, a raw pointer to the extensions area is\nwired into expectations list:\n\n  -> nf_ct_helper()\n   -> helper->help()\n    -> nf_ct_expect_related_report()\n     -> nf_ct_expect_insert()\n      -> hlist_add_head_rcu(&exp->lnode, &master_help->expectations)\n\nIn case the connection is not confirmed yet, more extensions can be\nadded afterwards with *_ext_add() calls reallocating the extension\nspace and leaving the now invalid pointer in the expectations list\nthat is later accessed while removing the expectation.\n\nMake sure that helpers are called at the end after all the other\nextensions are already added.\n\nNote that the helper rejection now leaves the mark and labels set,\nbut that's not different from how the NAT was handled before or how\nthe mark and the labels were handled on confirmation failure.  And\nthere are no atomicity guarantees provided by the API anyway.","summary":"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.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["kernel","linux","openvswitch","runtime"],"not_affected_if":[],"how_to_check":"- unknown","fix":"- unknown","status":"open","published_at":"2026-10-18T16:16:59+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T05:25:41+00:00","updated_at":"2026-10-25T05:25:41+00:00","category":"runtime","confidence":0.5,"triage":{"at":"2026-10-25T05:25:41Z","model":"claude-haiku-5-5","output":{"fix":"- unknown","reach":"unknown","title":"Linux kernel: conntrack helper use-after-free in Open vSwitch connection tracking","impact":"high","summary":"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.","category":"runtime","nicknames":[],"who_cares":["linux","openvswitch","kernel"],"confidence":0.5,"needs_auth":"unknown","worst_case":"Kernel memory use-after-free; exploitability and impact unknown","analyst_note":"Check the NVD entry and the upstream kernel fix commit for affected kernel versions, whether conntrack helpers are reachable from unprivileged paths, and the fixed stable versions.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":[],"who_is_affected":"unknown","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000556,"input_tokens":3573,"output_tokens":397,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':15A,18A '-98490':16A,19A 'access':58B,171C 'add':128C,148C,152C,192C 'afterward':149C 'alreadi':191C 'anyway':239C 'api':238C 'area':46B,49B,107C 'atom':233C 'attack':66B 'beyond':68B 'call':98C,153C,181C 'case':137C 'code':33B 'confirm':142C,227C 'connect':12A,31B,43B,139C 'conntrack':3A,89C 'ct':114C,119C,124C 'cve':14A,17A 'differ':209C 'due':93C 'end':184C 'exp':131C 'expect':111C,120C,125C,135C,166C,175C 'ext':151C 'extens':45B,95C,106C,145C,156C,189C 'failur':228C 'fix':90C 'follow':82C 'free':8A,73B 'get':67B 'guarante':234C 'handl':215C,225C 'head':129C 'help':117C,134C 'helper':4A,35B,91C,100C,115C,116C,179C,196C 'hlist':127C 'insert':126C 'invalid':162C 'keep':37B 'kernel':2A,20B,27B,75B,80C 'label':203C,223C 'later':57B,170C 'leav':159C,199C 'linux':1A,21B,26B,79C 'list':112C,167C 'lnode':132C 'make':176C 'mark':201C,220C 'master':133C 'memori':76B 'nat':213C 'net':87C 'nf':113C,118C,123C 'note':193C 'open':10A,29B 'openvswitch':22B,88C 'pointer':40B,55B,103C,163C 'provid':235C 'raw':102C 'rcu':130C 'realloc':51B,96C,154C 'reject':197C 'relat':121C 'remov':173C 'report':122C 'resolv':86C 'runtim':23B 'set':204C 'sourc':60B 'space':157C 'stale':39B,54B 'state':63B 'sure':177C 'track':13A,32B 'uaf':92C 'use':6A,71B 'use-after-fre':5A,70B 'vswitch':11A,30B 'vulner':83C 'wire':109C 'yet':143C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:16:59+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98490","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98490","severity":null,"published_at":"2026-10-18T16:16:59+00:00","modified_at":"2026-10-21T13:21:31+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","fetched_at":"2026-10-23T22:28:56+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}