Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach openvswitch IPv6 action path
-
DeliveryCraft IPv6 ext-header with oversized declared length
-
Exploitipv6_find_hdr returns offset past skb->len
-
ExecutionOVS sets it as transport header
-
PersistOOB read/write in freed skb slab
-
ImpactKernel memory corruption
Vulnerability Assessment
| Exploitation Conditions | Requires the openvswitch kernel datapath to be present and configured with IPv6 modify actions (e.g. set_ipv6_addr), and an attacker-controlled IPv6 packet carrying an extension-header chain whose declared length (ipv6_optlen up to 2048) extends past the actual skb->len; this unbounded skip is what makes ipv6_find_hdr() return an offset past the packet end. The demonstrated path runs through the openvswitch packet-execute netlink interface (ovs_packet_cmd_execute), which on normal systems requires CAP_NET_ADMIN, so a local privileged/administrative context over the OVS datapath is the confirmed trigger. LIMITING FACTORS: no openvswitch, no exposure; exploitation is complex (AC:H) because the stray offset must land in freed slab memory to be useful; the upstream CVSS claims no authentication/UI, but the evidence shows an openvswitch-gated path that likely requires privileged netlink access - defenders without openvswitch are effectively not exposed. |
| Impact | Signals conflict and should be reconciled before prioritizing. The supplied CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H, score 8.1) rates this network-reachable and unauthenticated, but the only trigger described in the evidence is openvswitch's packet pipeline reached via the netlink genetlink path (ovs_packet_cmd_execute → do_execute_actions → set_ipv6_addr), demonstrated by a local task (ovs_ipv6_oob, UID 1000) - openvswitch datapath/netlink control normally requires CAP_NET_ADMIN, so the PR:N / AV:N labeling is questionable and should be verified against the demonstrated local, OVS-dependent path. Exploitation probability signals are modest: EPSS is 0.22% (12th percentile), the vulnerability is NOT in CISA KEV, and no public exploit is identified in the input; the vuln.today decision label is 'this_week' rather than act_now/emergency. The flaw is nonetheless a genuine slab-use-after-free with both an out-of-bounds read and write of the transport checksum field (confirmed by the KASAN trace), which is a real memory-corruption primitive, so it is a legitimate patch-this-cycle issue for systems running openvswitch - but it is not a widespread drive-by threat: realistic exploitation is gated on openvswitch being configured and on the attacker being able to feed a crafted IPv6 extension-header chain into its actions. Net: a real but conditional priority, consistent with the 'this_week' label, not a mass-exploitation emergency. |
| Exploit ScenarioDerived | On a host running openvswitch, an attacker supplies an IPv6 packet whose extension-header chain declares a length extending past the actual packet end; ipv6_find_hdr() returns an offset beyond skb->len, openvswitch installs it as the transport header, and update_ipv6_checksum()/inet_proto_csum_replace16() then read and write two bytes out of bounds in freed slab memory (skbuff_small_head), corrupting kernel memory. No public exploit is identified at time of analysis; the KASAN report references a reproducer (ovs_ipv6_oob) but no working exploit code is provided in the input. Reliable exploitation is non-trivial (AC:H) because it depends on crafting the header chain so the stray offset lands in attacker-useful memory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 24, 2026
Out-of-bounds read and write in the Linux kernel IPv6 header parser: ipv6_find_hdr() walks the extension-header chain and skips each header by the length that header declares (ipv6_optlen() returns up to 2048) without ever checking that skip against skb->len, so the offset it stores can land past the end of the packet. When openvswitch installs that offset as the transport header, update_ipv6_checksum()/inet_proto_csum_replace16() then reads and writes the transport checksum field outside the packet buffer, which the upstream report demonstrates as a KASAN slab-use-after-free in the skbuff_small_head cache on kernels up to the 7.3-rc series and the 5.10/5.15/6.1/6.6/6.12/6.18 stable branches. Exploitation requires the openvswitch kernel datapath configured with IPv6 modify actions (e.g. set_ipv6_addr) and an attacker-supplied IPv6 packet whose extension-header chain declares a length extending beyond the actual buffer; the demonstrated path runs through the OVS packet-execute netlink interface, which normally requires CAP_NET_ADMIN, so the assessed vector is local with high attack complexity even though the CNA scored it AV:N/PR:N. No public exploit is identified at time of analysis and the CVE is not in CISA KEV; EPSS is low at 0.22% (12th percentile).
RemediationAI
Vendor-released patch: update to Linux 7.3-rc5, 6.18.55, 7.2.9, 6.12.112, 6.6.158, 6.1.189, 5.15.222 or 5.10.271, each of which carries the corresponding stable commit (543354c6efb27eae3372a3a9674aeaa2a86e2b2c, 4254d5878c320c19961dd0b8e1d0aca4800d8b7d, 531255de8971c06d5d5986f85fdc2525d707ba71, ca96b38730e31357ef4a9d76af1336958ac670d7, dc92cb972e86790b8078337ec41015b748b8f8e5, ee319bd3a0e976af5087cbe59ebc50a66f31d202, 1d42828565889632068fbc2983c34d57c66af4e0 or 1c70275ca87e769e1a52abc644d61372d8c016cb) and cherry-picks the fix commit f8f626754ebeca613cf1af2e6f890cfde0e74d5b, which bounds the offset inside ipv6_find_hdr() rather than in any single caller. Distributions that backport kernel fixes should track the per-branch git.kernel.org/stable links above rather than the mainline tag alone, and the CVE record is mirrored at https://nvd.nist.gov/vuln/detail/CVE-2026-98532. As an exposure-limiting measure, the demonstrated trigger runs through the openvswitch packet-execute generic-netlink path, which normally requires CAP_NET_ADMIN, so hosts that neither load the openvswitch kernel datapath nor grant that capability to untrusted contexts are not on the confirmed path - removing or not loading the openvswitch module therefore reduces exposure, at the cost of losing OVS kernel-datapath forwarding and falling back to userspace or alternative bridging. IPv6 modify actions (set_ipv6_addr and related checksum-updating actions) are the consumer that turns the bad offset into memory corruption; keeping them out of OVS flow rules limits reachability but does not fix the underlying parser, so patching remains the complete remedy.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is an input-validation gap in the IPv6 extension-header walker. ipv6_find_hdr() iterates the hop-by-hop, routing, fragment and destination-option headers, advancing the cursor by each header's self-declared length via ipv6_optlen(), which can express values up to 2048 bytes; the resulting position is never compared against skb->len before being written to *offset. The same walker is shared by several callers, so the upstream fix bounds the offset inside ipv6_find_hdr() itself rather than in a single consumer, rejecting a header whose declared length does not fit in the packet - a change that adds no new failure mode because the function already returns -EBADMSG on malformed chains. The exploitable consumer here is openvswitch: it installs the returned offset as the transport header, and update_ipv6_checksum() subsequently calls inet_proto_csum_replace16() to adjust the transport checksum, reading and writing two bytes at an offset past the buffer end. The reported trace (inet_proto_csum_replace16 -> set_ipv6_addr -> do_execute_actions -> ovs_execute_actions -> ovs_packet_cmd_execute -> genl_rcv_msg) shows the trigger arriving over the OVS generic-netlink packet-execute interface, and the KASAN report attributes the faulting address to a freed 704-byte skbuff_small_head region, i.e. the stray offset landed in already-freed slab memory. No CWE identifier is assigned in the source data; the root-cause class is improper validation of an attacker-declared length leading to an out-of-bounds read/write. Per the independent assessment, exploitation is not a simple packet-in-the-wild trigger: the OVS kernel datapath must be present and carrying IPv6 modify actions, and reaching the demonstrated path normally requires CAP_NET_ADMIN, which is why the assessed vector is AV:L/AC:H/PR:L/UI:N while the CNA vector claims AV:N/AC:H/PR:N/UI:N.
Know when Openvswitch gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Demonstrated trigger is the openvswitch netlink path (typically CAP_NET_ADMIN) with a crafted header chain, so AV:L/PR:L/AC:H; the slab UAF read+write yields kernel memory corruption, hence C/I/A High.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
4DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
ipv6: do not let ipv6_find_hdr() return an offset past the packet end
ipv6_find_hdr() walks the extension header chain, skipping each header by the length that header itself declares. ipv6_optlen() returns up to 2048, and the skip is never checked against skb->len, so the offset stored in *offset can point past the end of the packet.
openvswitch installs that offset as the transport header, and update_ipv6_checksum() then reads and writes the transport checksum field out of bounds:
BUG: KASAN: slab-use-after-free in inet_proto_csum_replace16+0x445/0x470 Read of size 2 at addr ffff88810b754b06 by task ovs_ipv6_oob/629 CPU: 4 UID: 1000 PID: 629 Comm: ovs_ipv6_oob Tainted: G N 7.3.0-rc3+ #348 Call Trace: inet_proto_csum_replace16+0x445/0x470 set_ipv6_addr+0x3dd/0x460 do_execute_actions+0x6a3d/0x7c40 ovs_execute_actions+0xfd/0x480 ovs_packet_cmd_execute+0xc38/0xf20 genl_rcv_msg+0x59e/0x870 netlink_rcv_skb+0x18b/0x450 genl_rcv+0x2d/0x40 netlink_unicast+0x6bc/0xa20
The buggy address belongs to the object at ffff88810b754980 which belongs to the cache skbuff_small_head of size 704 The buggy address is located 390 bytes inside of freed 704-byte region [ffff88810b754980, ffff88810b754c40)
Other callers use that offset too, so bound it here rather than in one caller.
Reject a header whose declared length does not fit in the packet. ipv6_find_hdr() already fails with -EBADMSG on a malformed chain, so this adds no new failure mode.
Executive ViewAI
CVE-2026-98532 is a high-severity Linux kernel vulnerability in the IPv6 header parser that can lead to memory corruption, specifically an out-of-bounds read/write. It only affects systems using the Open vSwitch kernel datapath with IPv6 modify actions, a configuration common in virtualized data centers and cloud environments. Leadership should care because exploitation could crash the kernel or potentially allow code execution, impacting availability and security of critical network infrastructure.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Openvswitch
View allAn issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c.
Buffer overflow in lib/flow.c in ovs-vswitchd in Open vSwitch 2.2.x and 2.3.x before 2.3.3 and 2.4.x before 2.4.1 allows
In Open vSwitch (OvS) 2.7.0, while parsing an OFPT_QUEUE_GET_CONFIG_REPLY type OFP 1.0 message, there is a buffer over-r
In Open vSwitch (OvS) v2.7.0, there is a buffer over-read while parsing the group mod OpenFlow message sent from the con
In lib/conntrack.c in the firewall implementation in Open vSwitch (OvS) 2.6.1, there is a buffer over-read while parsing
In Open vSwitch (OvS) 2.5.0, a malformed IP packet can cause the switch to read past the end of the packet buffer due to
Linux kernel MPLS handling retains a stale inner_protocol/inner_network_header record after the last MPLS label is poppe
Use-after-free in the Linux kernel's in-kernel Open vSwitch datapath lets a local user holding CAP_NET_ADMIN crash the k
openvswitch 2.17.8 was discovered to contain a memory leak via the function xmalloc__ in openvswitch-2.17.8/lib/util.c.
In Open vSwitch (OvS) 2.7.0, while parsing an OpenFlow role status message, there is a call to the abort() function for
A flaw was found in dpdk. Rated medium severity (CVSS 6.5), this vulnerability is low attack complexity. This Uncontroll
In lib/ofp-util.c in Open vSwitch (OvS) before 2.8.1, there are multiple memory leaks while parsing malformed OpenFlow g
EUVD-2026-103577
GHSA-75wf-hf48-gmfv
NVD
CVE.org
EPSS
Exploit-DB