In the Linux kernel, the following vulnerability has been resolved:
net/sched: cls_fw: fix NULL dereference of "old" filters before change()
Like pointed out by Sashiko [1], since commit ed76f5edccc9 ("net: sched: protect filter_chain list with filter_chain_lock mutex") TC filters are added to a shared block and published to datapath before their ->change() function is called. This is a problem for cls_fw: an invalid filter created with the "old" method can still classify some packets before it is destroyed by the validation logic added by Xiang. Therefore, insisting with repeated runs of the following script:
# ip link add dev crash0 type dummy # ip link set dev crash0 up # mausezahn crash0 -c 100000 -P 10 \ > -A 4.3.2.1 -B 1.2.3.4 -t udp "dp=1234" -q & # sleep 1 # tc qdisc add dev crash0 egress_block 1 clsact # tc filter add block 1 protocol ip prio 1 matchall \ > action skbedit mark 65536 continue # tc filter add block 1 protocol ip prio 2 fw # ip link del dev crash0
can still make fw_classify() hit the WARN_ON() in [2]:
WARNING: ./include/net/pkt_cls.h:88 at fw_classify+0x244/0x250 [cls_fw], CPU#18: mausezahn/1399 Modules linked in: cls_fw(E) act_skbedit(E) CPU: 18 UID: 0 PID: 1399 Comm: mausezahn Tainted: G E 7.0.0-rc6-virtme #17 PREEMPT(full) Tainted: [E]=UNSIGNED_MODULE Hardware name: Red Hat KVM, BIOS 1.16.3-2.el9 04/01/2014 RIP: 0010:fw_classify+0x244/0x250 [cls_fw] Code: 5c 49 c7 45 00 00 00 00 00 41 5d 41 5e 41 5f 5d c3 cc cc cc cc 5b b8 ff ff ff ff 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc 90 <0f> 0b 90 eb a0 0f 1f 80 00 00 00 00 90 90 90 90 90 90 90 90 90 90 RSP: 0018:ffffd1b7026bf8a8 EFLAGS: 00010202 RAX: ffff8c5ac9c60800 RBX: ffff8c5ac99322c0 RCX: 0000000000000004 RDX: 0000000000000001 RSI: ffff8c5b74d7a000 RDI: ffff8c5ac8284f40 RBP: ffffd1b7026bf8d0 R08: 0000000000000000 R09: ffffd1b7026bf9b0 R10: 00000000ffffffff R11: 0000000000000000 R12: 0000000000010000 R13: ffffd1b7026bf930 R14: ffff8c5ac8284f40 R15: 0000000000000000 FS: 00007fca40c37740(0000) GS:ffff8c5b74d7a000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fca40e822a0 CR3: 0000000005ca0001 CR4: 0000000000172ef0 Call Trace: <TASK> tcf_classify+0x17d/0x5c0 tc_run+0x9d/0x150 __dev_queue_xmit+0x2ab/0x14d0 ip_finish_output2+0x340/0x8f0 ip_output+0xa4/0x250 raw_sendmsg+0x147d/0x14b0 __sys_sendto+0x1cc/0x1f0 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x126/0xf80 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fca40e822ba Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb b8 0f 1f 00 f3 0f 1e fa 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 15 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 7e c3 0f 1f 44 00 00 41 54 48 83 ec 30 44 89 RSP: 002b:00007ffc248a42c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 000055ef233289d0 RCX: 00007fca40e822ba RDX: 000000000000001e RSI: 000055ef23328c30 RDI: 0000000000000003 RBP: 000055ef233289d0 R08: 00007ffc248a42d0 R09: 0000000000000010 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000001e R13: 00000000000186a0 R14: 0000000000000000 R15: 00007fca41043000 </TASK> irq event stamp: 1045778 hardirqs last enabled at (1045784): [<ffffffff864ec042>] __up_console_sem+0x52/0x60 hardirqs last disabled at (1045789): [<ffffffff864ec027>] __up_console_sem+0x37/0x60 softirqs last enabled at (1045426): [<ffffffff874d48c7>] __alloc_skb+0x207/0x260 softirqs last disabled at (1045434): [<ffffffff874fe8f8>] __dev_queue_xmit+0x78/0x14d0
Then, because of the value in the packet's mark, dereference on 'q->handle' with NULL 'q' occurs:
BUG: kernel NULL pointer dereference, address: 0000000000000038 [...] RIP: 0010:fw_classify+0x1fe/0x250 [cls_fw] [...]
Skip "old-style" classification on shared blocks, so that the NULL dereference is fixed and WARN_ON() is not hit anymore in the short lifetime of invalid cls_fw "old-style" filters.
[1] https://sashiko.dev/#/patchset/2 ---truncated---
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernelUpgrade kernel-headersUpgrade perf-debuginfoUpgrade python-perfUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-tools-develUpgrade kernel-livepatch-5.10.259-258.1043Upgrade kernel-livepatch-5.15.204-143.229Upgrade kernel-develUpgrade perfUpgrade bpftool | Jul 7, 2026 | Jul 7, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade perf6.12Upgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel6.12-tools-develUpgrade kernel6.12-toolsUpgrade bpftool-debuginfoUpgrade kernel6.12-develUpgrade kernel-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel6.12-headersUpgrade python3-perf6.12Upgrade kernel-livepatch-6.12.83-111.159Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.170-208.319Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12Upgrade kernel6.12-modules-extra-commonUpgrade python3-perfUpgrade kernel-tools-develUpgrade perf6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-modules-extraUpgrade perfUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-debuginfoUpgrade kernelUpgrade kernel-headersUpgrade python3-perf6.12-debuginfoUpgrade perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade bpftool6.12-debuginfoUpgrade bpftool6.12 | Jul 8, 2026 | Jun 24, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Jun 24, 2026 |
| Ubuntu | — | Upgrade linux-image-azure-fdeUpgrade linux-image-azureUpgrade linux-image-azure-7.0Upgrade linux-image-fips-6.8Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-raspi-7.0Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oracle-6.8Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-6.8.0-1069-azure-fipsUpgrade linux-image-generic-64k-7.0Upgrade linux-image-6.8.0-1066-aws-64kUpgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-6.8.0-1064-nvidia-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-5.15.0-198-fipsUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-realtime-6.8.1Upgrade linux-image-generic-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-realtime-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-azure-cvmUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1066-aws-fipsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-5.15.0-1112-nvidia-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-virtualUpgrade linux-image-virtual-5.15Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-6.8.0-146-generic-64kUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-realtime-64kUpgrade linux-image-laptop-23.10Upgrade linux-image-oem-24.04dUpgrade linux-image-6.8.0-1064-nvidia-lowlatency-64kUpgrade linux-image-7.0.0-1008-oracleUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-oem-24.04aUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-7.0Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-generic-7.0Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-aws-lts-22.04Upgrade linux-image-fips-5.15Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1068-azure-fdeUpgrade linux-image-6.8.0-1065-gke-64kUpgrade linux-image-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-146-fipsUpgrade linux-image-6.8.1-1061-realtimeUpgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-oem-26.04Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-generic-64k-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-kvmUpgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-6.8.0-1051-gkeopUpgrade linux-image-nvidia-5.15Upgrade linux-image-gcp-5.15Upgrade linux-image-azure-fips-6.8Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-ibm-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-gcpUpgrade linux-image-gcp-6.8Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-7.0.0-1009-awsUpgrade linux-image-6.8.0-1065-gkeUpgrade linux-image-7.0.0-1003-gkeUpgrade linux-image-nvidia-64kUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-gke-hwe-26.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-oem-20.04cUpgrade linux-image-azure-5.15Upgrade linux-image-6.8.0-1066-ibmUpgrade linux-image-oem-24.04cUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-oracle-5.15Upgrade linux-image-7.0.0-1008-oracle-64kUpgrade linux-image-7.0.0-1003-gke-64kUpgrade linux-image-ibm-7.0Upgrade linux-image-ibm-5.15Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-azure-fde-6.8Upgrade linux-image-7.0.0-1014-azureUpgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-7.0.0-1010-azureUpgrade linux-image-6.8.0-146-lowlatency-64kUpgrade linux-image-gke-7.0Upgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-7.0.0-1009-oemUpgrade linux-image-aws-fipsUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-generic-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-gcp-7.0Upgrade linux-image-azure-fde-7.0Upgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-6.8.0-146-genericUpgrade linux-image-6.8.0-1066-awsUpgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtime-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-aws-7.0Upgrade linux-image-aws-64k-7.0Upgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-aws-64k-5.15Upgrade linux-image-7.0.0-1010-ibmUpgrade linux-image-6.8.0-146-lowlatencyUpgrade linux-image-6.8.0-1063-oracleUpgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-5.15.0-1117-awsUpgrade linux-image-lowlatency-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-generic-lpaeUpgrade linux-image-oem-26.04aUpgrade linux-image-nvidiaUpgrade linux-image-oem-24.04bUpgrade linux-image-6.8.0-1064-nvidia-lowlatencyUpgrade linux-image-7.0.0-28-realtimeUpgrade linux-image-generic-64k-5.15Upgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gkeop-5.15Upgrade linux-image-gkeopUpgrade linux-image-gke-64kUpgrade linux-image-aws-fips-5.15Upgrade linux-image-aws-64kUpgrade linux-image-aws-5.15Upgrade linux-image-5.15.0-1123-azureUpgrade linux-image-raspiUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-azure-6.8Upgrade linux-image-7.0.0-28-generic-64kUpgrade linux-image-7.0.0-28-genericUpgrade linux-image-6.8.0-1070-gcpUpgrade linux-image-5.15.0-1112-nvidiaUpgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-virtual-6.8Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-lowlatency-64kUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-oem-24.04Upgrade linux-image-gkeUpgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-nvidia-bosUpgrade linux-image-nvidia-7.0Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-7.0.0-1008-gcp-64kUpgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-kvm-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-intelUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-genericUpgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-fips-5.15Upgrade linux-image-7.0.0-28-realtime-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-virtual-7.0Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-gke-64k-7.0Upgrade linux-image-gke-5.15Upgrade linux-image-generic-5.15Upgrade linux-image-azure-fde-5.15Upgrade linux-image-6.8.0-1070-gcp-64kUpgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1064-nvidiaUpgrade linux-image-oracleUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-gcp-64kUpgrade linux-image-fipsUpgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-6.8.0-1070-azureUpgrade linux-image-6.8.0-1063-oracle-64kUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-oracle-7.0Upgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-7.0.0-1008-gcpUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1070-gcp-fipsUpgrade linux-image-5.15.0-198-genericUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-lowlatency-5.15 | Jul 20, 2026 | Jun 24, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 6, 2026 | Jun 24, 2026 |
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