{"id":"CVE-2026-98497","kind":"vulnerability","aliases":["CVE-2026-98497"],"related":[],"title":"Linux kernel: swapped IPv6 IPsec masks on Mellanox NICs misroute traffic","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: fix swapped IPv6 IPsec policy masks\n\nIPv6 XFRM policies may use different source and destination prefix\nlengths. mlx5e_ipsec_policy_mask() builds the corresponding masks\nindependently, but setup_fte_addr6() installs each mask in the opposite\naddress field.\n\nWhen the prefix lengths differ, this makes the source match use the\ndestination prefix and the destination match use the source prefix. The\nresulting hardware rule can both miss traffic covered by the policy and\nmatch traffic outside it.\n\nInstall each mask in its corresponding match field.","summary":"In the Linux kernel's mlx5e driver for Mellanox ConnectX NICs, IPv6 IPsec policy masks were installed in the wrong address fields when source and destination prefix lengths differ. The resulting hardware rule can miss traffic the policy should cover and match traffic outside it.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","ipsec","ipv6","linux-kernel","mlx5","self-hosted"],"not_affected_if":["no-ipv6-ipsec-policy","no-mlx5-ipsec-offload"],"how_to_check":"- unknown","fix":"- Update to a Linux kernel release that includes the upstream fix 'net/mlx5e: fix swapped IPv6 IPsec policy masks' (exact version unknown from sources)","status":"open","published_at":"2026-10-18T16:17:00+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T05:25:37+00:00","updated_at":"2026-10-25T05:25:37+00:00","category":"infrastructure","confidence":0.5,"triage":{"at":"2026-10-25T05:25:37Z","model":"claude-haiku-5-5","output":{"fix":"- Update to a Linux kernel release that includes the upstream fix 'net/mlx5e: fix swapped IPv6 IPsec policy masks' (exact version unknown from sources)","reach":"network","title":"Linux kernel: swapped IPv6 IPsec masks on Mellanox NICs misroute traffic","impact":"medium","summary":"In the Linux kernel's mlx5e driver for Mellanox ConnectX NICs, IPv6 IPsec policy masks were installed in the wrong address fields when source and destination prefix lengths differ. The resulting hardware rule can miss traffic the policy should cover and match traffic outside it.","category":"infrastructure","nicknames":[],"who_cares":["linux-kernel","mlx5","ipsec","ipv6","self-hosted"],"confidence":0.5,"needs_auth":"unknown","worst_case":"Policy-covered traffic may be missed and unrelated traffic matched","analyst_note":"Find the kernel version and stable commit that contain the fix and a way to detect mlx5 IPsec offload; the NVD entry has no severity or version data.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["no-mlx5-ipsec-offload","no-ipv6-ipsec-policy"],"who_is_affected":"Systems running Linux with a Mellanox mlx5 NIC doing IPv6 IPsec (XFRM) offload where policies use different source and destination prefix lengths. Hosts without mlx5 IPsec offload or without IPv6 IPsec policies are unlikely to be affected. Exact trigger conditions are unknown from sources.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000647,"input_tokens":3438,"output_tokens":607,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-98497':14A,17A 'addr6':112C 'address':48B,119C 'build':104C 'connectx':37B 'correspond':106C,165C 'cover':67B,151C 'cve':12A,15A 'destin':53B,97C,133C,137C 'differ':56B,94C,125C 'driver':34B 'field':49B,120C,167C 'fix':83C 'follow':77C 'fte':111C 'hardwar':59B,145C 'host':27B 'independ':108C 'infrastructur':18B 'instal':44B,113C,160C 'ipsec':5A,19B,40B,86C,101C 'ipv6':4A,20B,39B,85C,89C 'kernel':2A,23B,31B,75C 'length':55B,99C,124C 'linux':1A,22B,30B,74C 'linux-kernel':21B 'make':127C 'mask':6A,42B,88C,103C,107C,115C,162C 'match':69B,130C,138C,156C,166C 'may':92C 'mellanox':8A,36B 'misrout':10A 'miss':62B,149C 'mlx5':24B 'mlx5e':33B,100C 'net/mlx5e':82C 'nic':9A,38B 'opposit':118C 'outsid':71B,158C 'polici':41B,65B,87C,91C,102C,154C 'prefix':54B,98C,123C,134C,142C 'resolv':81C 'result':58B,144C 'rule':60B,146C 'self':26B 'self-host':25B 'setup':110C 'sourc':51B,95C,129C,141C 'swap':3A,84C 'traffic':11A,63B,70B,150C,157C 'use':93C,131C,139C 'vulner':78C 'wrong':47B 'xfrm':90C","nicknames":[],"mitigations":[],"who_affected":"Systems running Linux with a Mellanox mlx5 NIC doing IPv6 IPsec (XFRM) offload where policies use different source and destination prefix lengths. Hosts without mlx5 IPsec offload or without IPv6 IPsec policies are unlikely to be affected. Exact trigger conditions are unknown from sources.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T16:17:00+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98497","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98497","severity":null,"published_at":"2026-10-18T16:17:00+00:00","modified_at":"2026-10-19T10:19:02+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"}