Skip to main content

Linux Kernel CVE-2025-68785

HIGH
2026-01-13 416baaa9-dc9f-4396-8d5f-8c081fb06d67
High
Disputed · 7.1 Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Sources disagree (Low–High)
Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.1 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
vuln.today AI
7.1 HIGH

Local netlink access needing CAP_NET_ADMIN gives AV:L/PR:L; the OOB read leaks kernel memory (C:H) and corrupts memory to crash the host (A:H) with no integrity impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.7 MEDIUM
AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:H
Red Hat
5.5 LOW
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

7
Analysis Updated
Jul 30, 2026 - 07:25 vuln.today
v3 (cvss_changed)
Analysis Updated
Jul 30, 2026 - 07:25 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 30, 2026 - 06:37 vuln.today
cvss_changed
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.1 (HIGH)
Patch released
Mar 16, 2026 - 15:00 nvd
Patch available
Analysis Generated
Mar 12, 2026 - 21:54 vuln.today
CVE Published
Jan 13, 2026 - 16:15 nvd
N/A

DescriptionCVE.org

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

net: openvswitch: fix middle attribute validation in push_nsh() action

The push_nsh() action structure looks like this:

OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))

The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions(). The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr(). But nothing checks if the attribute in the middle is OK. We don't even check that this attribute is the OVS_KEY_ATTR_NSH. We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect. The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:

BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch] Read of size 184 at addr ffff88816459a634 by task a.out/22624

CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary) Call Trace: <TASK> dump_stack_lvl+0x51/0x70 print_address_description.constprop.0+0x2c/0x390 kasan_report+0xdd/0x110 kasan_check_range+0x35/0x1b0 __asan_memcpy+0x20/0x60 nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch] push_nsh+0x82/0x120 [openvswitch] do_execute_actions+0x1405/0x2840 [openvswitch] ovs_execute_actions+0xd5/0x3b0 [openvswitch] ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch] genl_family_rcv_msg_doit+0x1d6/0x2b0 genl_family_rcv_msg+0x336/0x580 genl_rcv_msg+0x9f/0x130 netlink_rcv_skb+0x11f/0x370 genl_rcv+0x24/0x40 netlink_unicast+0x73e/0xaa0 netlink_sendmsg+0x744/0xbf0 __sys_sendto+0x3d6/0x450 do_syscall_64+0x79/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK>

Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action. Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today. So, keeping as it is.

AnalysisAI

Out-of-bounds memory access in the Linux kernel's Open vSwitch (openvswitch) module allows a local user holding CAP_NET_ADMIN to leak kernel memory or crash the host by submitting a malformed OVS_ACTION_ATTR_PUSH_NSH netlink action with an incorrectly sized middle attribute. The push_nsh() action path validates the outer and inner NSH attributes but never checks the intermediate OVS_KEY_ATTR_NSH wrapper, so nsh_hdr_from_nlattr() performs a 184-byte read past a slab allocation (KASAN slab-out-of-bounds). A patch is available from the kernel stable tree and via Ubuntu USN-8096-1; there is no public exploit identified at time of analysis, and EPSS is very low (0.07%).

Technical ContextAI

The flaw lives in the kernel's Open vSwitch datapath, which programs flow actions from userspace via a Generic Netlink interface using nested netlink attributes. A PUSH_NSH action is encoded as OVS_ACTION_ATTR_PUSH_NSH → OVS_KEY_ATTR_NSH → OVS_NSH_KEY_ATTR_BASE/MD1/MD2. During validation (__ovs_nla_copy_actions → validate_push_nsh → nsh_key_put_from_nlattr) the outermost attribute is iterated safely and the innermost NSH key attributes are iterated safely, but the middle OVS_KEY_ATTR_NSH wrapper is unwrapped twice with raw nla_data() calls without any type or length check. This is a classic CWE-125 (Out-of-Bounds Read) / improper input validation root cause: the code trusts an attacker-supplied nested attribute's implied size. Validation may pass because the netlink receive buffer is oversized, but at action execution time the action buffer is allocated to the exact size, so nsh_hdr_from_nlattr() reads beyond it. The affected component is the in-tree openvswitch kernel module, not the userspace ovs-vswitchd daemon.

Affected ProductsAI

The vulnerability affects the Open vSwitch (openvswitch) module in the mainline Linux kernel; the reproducer was observed on 6.18.0-rc7+. Fixes were backported across multiple stable branches, as evidenced by seven separate git.kernel.org stable commits (e.g. 10ffc558246f2c75619aedda0921906095e46702 and d0c135b8bbbcf92836068fd395bebeb7ae6c7bef). Distribution-packaged kernels are affected: Ubuntu published advisory USN-8096-1 (https://ubuntu.com/security/notices/USN-8096-1), and VulDB tracks it as entry 340673 (https://vuldb.com/?id.340673). No CPE strings were provided in the input, so exact affected version ranges should be confirmed against each distribution's advisory rather than treated as authoritatively enumerated here.

RemediationAI

Patch available per vendor advisory: apply the stable-kernel fix that adds length and single-attribute validation to the OVS_KEY_ATTR_NSH middle attribute in push_nsh(); the fix is carried in the kernel stable commits listed at git.kernel.org (e.g. https://git.kernel.org/stable/c/10ffc558246f2c75619aedda0921906095e46702). Distribution users should upgrade to the fixed kernel package per their vendor advisory - Ubuntu users via USN-8096-1 (https://ubuntu.com/security/notices/USN-8096-1) followed by a reboot. Where immediate patching is not possible, the practical compensating control is to remove the attack surface by restricting CAP_NET_ADMIN: do not grant CAP_NET_ADMIN to untrusted users, containers, or network namespaces, and if the openvswitch datapath is not in use, blacklist/unload the openvswitch kernel module (trade-off: this breaks any OVS-based networking, so it is only viable on hosts that do not rely on Open vSwitch). These controls reduce exposure but do not fix the underlying OOB read, so patching remains the correct long-term action.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.105 Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.124 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.146 Affected
Container suse/sl-micro/6.1/baremetal-os-container:latest Affected
Container suse/sl-micro/6.1/base-os-container:2.2.1-5.90 Affected

Share

CVE-2025-68785 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy