In the Linux kernel, the following vulnerability has been resolved:
net: openvswitch: remove never-working support for setting nsh fields
The validation of the set(nsh(...)) action is completely wrong. It runs through the nsh_key_put_from_nlattr() function that is the same function that validates NSH keys for the flow match and the push_nsh() action. However, the set(nsh(...)) has a very different memory layout. Nested attributes in there are doubled in size in case of the masked set(). That makes proper validation impossible.
There is also confusion in the code between the 'masked' flag, that says that the nested attributes are doubled in size containing both the value and the mask, and the 'is_mask' that says that the value we're parsing is the mask. This is causing kernel crash on trying to write into mask part of the match with SW_FLOW_KEY_PUT() during validation, while validate_nsh() doesn't allocate any memory for it:
BUG: kernel NULL pointer dereference, address: 0000000000000018 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 1c2383067 P4D 1c2383067 PUD 20b703067 PMD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 8 UID: 0 Kdump: loaded Not tainted 6.17.0-rc4+ #107 PREEMPT(voluntary) RIP: 0010:nsh_key_put_from_nlattr+0x19d/0x610 [openvswitch] Call Trace: <TASK> validate_nsh+0x60/0x90 [openvswitch] validate_set.constprop.0+0x270/0x3c0 [openvswitch] __ovs_nla_copy_actions+0x477/0x860 [openvswitch] ovs_nla_copy_actions+0x8d/0x100 [openvswitch] ovs_packet_cmd_execute+0x1cc/0x310 [openvswitch] genl_family_rcv_msg_doit+0xdb/0x130 genl_family_rcv_msg+0x14b/0x220 genl_rcv_msg+0x47/0xa0 netlink_rcv_skb+0x53/0x100 genl_rcv+0x24/0x40 netlink_unicast+0x280/0x3b0 netlink_sendmsg+0x1f7/0x430 ____sys_sendmsg+0x36b/0x3a0 ___sys_sendmsg+0x87/0xd0 __sys_sendmsg+0x6d/0xd0 do_syscall_64+0x7b/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e
The third issue with this process is that while trying to convert the non-masked set into masked one, validate_set() copies and doubles the size of the OVS_KEY_ATTR_NSH as if it didn't have any nested attributes. It should be copying each nested attribute and doubling them in size independently. And the process must be properly reversed during the conversion back from masked to a non-masked variant during the flow dump.
In the end, the only two outcomes of trying to use this action are either validation failure or a kernel crash. And if somehow someone manages to install a flow with such an action, it will most definitely not do what it is supposed to, since all the keys and the masks are mixed up.
Fixing all the issues is a complex task as it requires re-writing most of the validation code.
Given that and the fact that this functionality never worked since introduction, let's just remove it altogether. It's better to re-introduce it later with a proper implementation instead of trying to fix it in stable releases.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade kernel-livepatch-5.15.197-138.220Upgrade perf-debuginfoUpgrade perfUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.10.247-246.989Upgrade kernelUpgrade kernel-headersUpgrade python-perf-debuginfoUpgrade kernel-debuginfoUpgrade bpftool-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade perf6.12Upgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel-libbpfUpgrade kernel-headersUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-headersUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-modules-extraUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12Upgrade kernel6.12-libbpf-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade python3-perfUpgrade python3-perf6.12Upgrade kernel6.12-tools-develUpgrade kernel-livepatch-6.12.63-84.121Upgrade kernel6.12-libbpf-staticUpgrade kernel-livepatch-6.1.159-181.297Upgrade kernel6.12-toolsUpgrade kernel-libbpf-develUpgrade perfUpgrade kernel6.12-debuginfoUpgrade kernel6.12-libbpfUpgrade kernel-debuginfoUpgrade bpftool6.12Upgrade kernelUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-tools-develUpgrade kernel-develUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-develUpgrade kernel-modules-extra-commonUpgrade perf6.12-debuginfo | Jan 12, 2026 | Dec 4, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Dec 15, 2025 | Dec 15, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade bpftool | Mar 17, 2026 | Mar 16, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel | Mar 10, 2026 | Mar 10, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Feb 11, 2026 | Dec 4, 2025 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Dec 4, 2025 |
| Ubuntu | — | Upgrade linux-image-fips-5.15Upgrade linux-image-fips-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gke-5.15Upgrade linux-image-ibm-6.8Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-173-genericUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-raspi-6.17Upgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-5.15.0-1103-aws-fipsUpgrade linux-image-5.15.0-1100-oracleUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-5.15.0-1097-raspiUpgrade linux-image-6.17.0-1008-realtimeUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-ibm-classicUpgrade linux-image-oem-6.17Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1050-awsUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-azure-fips-6.8Upgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-oem-20.04dUpgrade linux-image-oem-24.04aUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-1044-nvidia-tegra-igx-rtUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-5.15.0-1095-kvmUpgrade linux-image-6.17.0-1009-aws-64kUpgrade linux-image-realtime-6.17Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-5.15.0-173-generic-64kUpgrade linux-image-5.15.0-173-generic-lpaeUpgrade linux-image-oem-22.04aUpgrade linux-image-aws-lts-22.04Upgrade linux-image-realtime-5.15Upgrade linux-image-xilinxUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1044-nvidia-tegra-igxUpgrade linux-image-ibmUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-1099-gkeUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-106-fipsUpgrade linux-image-aws-64k-6.8Upgrade linux-image-6.17.0-1009-oracleUpgrade linux-image-azure-6.8Upgrade linux-image-oracleUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1110-azureUpgrade linux-image-gcpUpgrade linux-image-generic-64k-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-5.15.0-1109-azure-fipsUpgrade linux-image-virtual-5.15Upgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.17.0-1009-oracle-64kUpgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-5.15.0-1098-nvidiaUpgrade linux-image-gke-6.8Upgrade linux-image-5.15.0-1109-azureUpgrade linux-image-virtual-6.17Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-gcp-6.17Upgrade linux-image-awsUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-oem-24.04dUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1098-nvidia-lowlatencyUpgrade linux-image-azure-6.17Upgrade linux-image-5.15.0-1097-ibmUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-5.15.0-1103-aws-64kUpgrade linux-image-5.15.0-1098-intel-iotgUpgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-5.15.0-1102-realtimeUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oem-24.04cUpgrade linux-image-nvidia-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oem-22.04bUpgrade linux-image-generic-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-raspi-5.15Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-173-lowlatency-64kUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.17.0-19-genericUpgrade linux-image-6.17.0-1017-oemUpgrade linux-image-generic-6.17Upgrade linux-image-virtualUpgrade linux-image-6.17.0-1009-awsUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-generic-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-gcp-64k-6.17Upgrade linux-image-aws-64k-5.15Upgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-gcp-5.15Upgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-azure-5.15Upgrade linux-image-azureUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-5.15.0-1055-nvidia-tegraUpgrade linux-image-5.15.0-1103-gcpUpgrade linux-image-oracle-5.15Upgrade linux-image-oem-22.04Upgrade linux-image-nvidiaUpgrade linux-image-gkeUpgrade linux-image-aws-64k-6.17Upgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-6.17.0-1010-raspiUpgrade linux-image-5.15.0-1094-intel-iot-realtimeUpgrade linux-image-raspi-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-gcp-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-aws-5.15Upgrade linux-image-6.17.0-1009-gcp-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-5.15.0-1055-nvidia-tegra-rtUpgrade linux-image-lowlatency-64kUpgrade linux-image-ibm-5.15Upgrade linux-image-5.15.0-1103-awsUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-lowlatency-5.15Upgrade linux-image-kvm-5.15Upgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-64k-6.17Upgrade linux-image-genericUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-raspiUpgrade linux-image-oracle-6.8Upgrade linux-image-oracle-6.17Upgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-generic-64k-5.15Upgrade linux-image-6.17.0-1009-gcpUpgrade linux-image-5.15.0-1067-xilinx-zynqmpUpgrade linux-image-virtual-6.8Upgrade linux-image-raspi-nolpaeUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-gcp-6.8Upgrade linux-image-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-6.17.0-1010-azureUpgrade linux-image-aws-6.17Upgrade linux-image-realtimeUpgrade linux-image-azure-fips-5.15Upgrade linux-image-5.15.0-1103-gcp-fipsUpgrade linux-image-gkeopUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-gke-64kUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-5.15.0-173-fipsUpgrade linux-image-5.15.0-1086-gkeopUpgrade linux-image-5.15.0-173-lowlatencyUpgrade linux-image-6.17.0-19-generic-64k | Mar 17, 2026 | Dec 4, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Feb 9, 2026 | Dec 4, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub