PatchSiren cyber security CVE debrief
CVE-2026-31421 Linux CVE debrief
CVE-2026-31421 is a Linux kernel net/sched cls_fw bug that can trigger a NULL pointer dereference in fw_classify() when the old-method path is used on a shared block. The issue is reached when an empty cls_fw filter is attached to a shared block and a packet with a nonzero major skb mark is classified, which can crash the kernel and affect availability. The fix rejects that configuration in fw_change() for shared blocks.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- MEDIUM 5.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-14
- Original CVE updated
- 2026-07-28
- Advisory published
- 2026-07-14
- Advisory updated
- 2026-07-28
Who should care
Linux kernel maintainers, distro security teams, and operators running traffic-control or cls_fw configurations on affected kernels should care most. Systems that expose local users or administrative workflows that can configure tc filters are the practical focus, because the CVSS vector is local and low-privilege.
Technical summary
The vulnerability is a CWE-476 NULL pointer dereference in net/sched/cls_fw.c. In the old-method path, fw_classify() calls tcf_block_q() and dereferences q->handle, but shared blocks leave block->q unset, so a NULL dereference occurs during classification. NVD rates the issue CVSS 3.1 5.5/Medium with AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. NVD also lists affected Linux kernel ranges starting at 4.15 and ending before the fixed maintenance releases, plus the 7.0 release candidates called out in the record.
Defensive priority
High for systems that use cls_fw with shared blocks, because the impact is a kernel crash/availability loss and the vulnerable path can be exercised during packet classification. Priority is lower for environments that do not use traffic-control firewall classifiers or shared blocks, but affected kernels should still be patched promptly.
Recommended defensive actions
- Apply the Linux kernel fixes referenced by the official stable patches linked in the NVD record.
- Update to a kernel version at or above the fixed maintenance releases listed by NVD for your branch.
- Review tc/cls_fw usage for shared blocks and avoid configurations that rely on the old-method path until patched.
- Confirm whether any local administrative tooling or automation creates empty cls_fw filters on shared blocks.
- Track vendor kernel advisories for backported fixes if you do not run upstream-stable kernels.
Evidence notes
This debrief is based on the CVE record description and the NVD record marked Analyzed. The supplied CVE text states the failure mode: an empty cls_fw filter on a shared block can cause fw_classify() to dereference block->q/q->handle and hit a NULL pointer dereference when classifying a packet with a nonzero major skb mark. NVD classifies the weakness as CWE-476 and assigns CVSS 3.1 5.5/Medium with local, low-privilege impact limited to availability. The official NVD record also provides affected-version criteria and links to kernel.org stable patch references.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-31421 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-31421
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-31421 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-31421
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/18328eff2f97d1a6adcdb6d4a0f42f2f83a31e28
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/3cb055df9e8625ce699a259d8178d67b37f2b160
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/3d41f9a314afa94b1c7c7c75405920123220e8cd
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/5cf41031922c154aa5ccda8bcdb0f5e6226582ec
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/96426c348def662b06bfdc65be3002905604927a
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/d6d5bd62a09650856e1e2010eb09853eba0d64e1
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/faeea8bbf6e958bf3c00cb08263109661975987c
416baaa9-dc9f-4396-8d5f-8c081fb06d67 - Patch
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.