Skip to main content
VulnerabilityPublished Updated

CVE-2026-45840: Linux kernel · openvswitch: cap upcall PID array size and pre-size vport replies

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in fa6e90bc443bed8dc0d55bc5ea5b27ffdfe37704 : update Linux kernel when convenient.

Data as of 6 Nov 2026, 15:49 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in fa6e90bc443bed8dc0d55bc5ea5b27ffdfe37704, f99ac36b5d7c719d08a69fcdecce40f78a874e15, f9ef3db77a383d66847fd082c2b437d8ae4d9c63 +5

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 27 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 5cd667b0a4567048bb555927d6ee564f4e5620a9, < fa6e90bc443bed8dc0d55bc5ea5b27ffdfe37704
Fixed in
  • fa6e90bc443bed8dc0d55bc5ea5b27ffdfe37704
LinuxLinuxAffected
  • ≥ 5cd667b0a4567048bb555927d6ee564f4e5620a9, < f99ac36b5d7c719d08a69fcdecce40f78a874e15
Fixed in
  • f99ac36b5d7c719d08a69fcdecce40f78a874e15
LinuxLinuxAffected
  • ≥ 5cd667b0a4567048bb555927d6ee564f4e5620a9, < f9ef3db77a383d66847fd082c2b437d8ae4d9c63
Fixed in
  • f9ef3db77a383d66847fd082c2b437d8ae4d9c63
LinuxLinuxAffected
  • ≥ 5cd667b0a4567048bb555927d6ee564f4e5620a9, < d9e47e29aacb9f8a9d59feb6ab5b128a9bbb40b0
Fixed in
  • d9e47e29aacb9f8a9d59feb6ab5b128a9bbb40b0
LinuxLinuxAffected
  • ≥ 5cd667b0a4567048bb555927d6ee564f4e5620a9, < b39f763d720d623218bc1d95ace6855d7b474e81
Fixed in
  • b39f763d720d623218bc1d95ace6855d7b474e81
LinuxLinuxAffected
  • ≥ 5cd667b0a4567048bb555927d6ee564f4e5620a9, < 2091c6aa0df6aba47deb5c8ab232b1cb60af3519
Fixed in
  • 2091c6aa0df6aba47deb5c8ab232b1cb60af3519

Description

In the Linux kernel, the following vulnerability has been resolved: openvswitch: cap upcall PID array size and pre-size vport replies The vport netlink reply helpers allocate a fixed-size skb with nlmsg_new(NLMSG_DEFAULT_SIZE, ...) but serialize the full upcall PID array via ovs_vport_get_upcall_portids(). Since ovs_vport_set_upcall_portids() accepts any non-zero multiple of sizeof(u32) with no upper bound, a CAP_NET_ADMIN user can install a PID array large enough to overflow the reply buffer, causing nla_put() to fail with -EMSGSIZE and hitting BUG_ON(err < 0). On systems with unprivileged user namespaces enabled (e.g., Ubuntu default), this is reachable via unshare -Urn since OVS vport mutation operations use GENL_UNS_ADMIN_PERM. kernel BUG at net/openvswitch/datapath.c:2414! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 1 UID: 0 PID: 65 Comm: poc Not tainted 7.0.0-rc7-00195-geb216e422044 #1 RIP: 0010:ovs_vport_cmd_set+0x34c/0x400 Call Trace: <TASK> genl_family_rcv_msg_doit (net/netlink/genetlink.c:1116) genl_rcv_msg (net/netlink/genetlink.c:1194) netlink_rcv_skb (net/netlink/af_netlink.c:2550) genl_rcv (net/netlink/genetlink.c:1219) netlink_unicast (net/netlink/af_netlink.c:1344) netlink_sendmsg (net/netlink/af_netlink.c:1894) __sys_sendto (net/socket.c:2206) __x64_sys_sendto (net/socket.c:2209) do_syscall_64 (arch/x86/entry/syscall_64.c:63) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) </TASK> Kernel panic - not syncing: Fatal exception Reject attempts to set more PIDs than nr_cpu_ids in ovs_vport_set_upcall_portids(), and pre-compute the worst-case reply size in ovs_vport_cmd_msg_size() based on that bound, similar to the existing ovs_dp_cmd_msg_size(). nr_cpu_ids matches the cap already used by the per-CPU dispatch configuration on the datapath side (ovs_dp_cmd_fill_info() serialises at most nr_cpu_ids PIDs), so the two sides stay consistent.

References

Community reviews

Loading reviews…