---
id: CVE-2026-31421
title: 'net/sched: cls_fw: fix NULL pointer dereference on shared blocks'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net/sched: cls_fw: fix NULL pointer dereference on shared blocks

  The old-method path in fw_classify() calls tcf_block_q() and
  dereferences q->handle.  Shared blocks le…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    d6d5bd62a09650856e1e2010eb09853eba0d64e1
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    febf64ca79a2d6540ab6e5e197fa0f4f7e84473e
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    3d41f9a314afa94b1c7c7c75405920123220e8cd
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    18328eff2f97d1a6adcdb6d4a0f42f2f83a31e28
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    5cf41031922c154aa5ccda8bcdb0f5e6226582ec
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    3cb055df9e8625ce699a259d8178d67b37f2b160
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    96426c348def662b06bfdc65be3002905604927a
  - >-
    Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db <
    faeea8bbf6e958bf3c00cb08263109661975987c
  - Linux 4.15
published: '2026-04-13'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:46:56.901Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31421'
references:
  - url: 'https://git.kernel.org/stable/c/d6d5bd62a09650856e1e2010eb09853eba0d64e1'
  - url: 'https://git.kernel.org/stable/c/febf64ca79a2d6540ab6e5e197fa0f4f7e84473e'
  - url: 'https://git.kernel.org/stable/c/3d41f9a314afa94b1c7c7c75405920123220e8cd'
  - url: 'https://git.kernel.org/stable/c/18328eff2f97d1a6adcdb6d4a0f42f2f83a31e28'
  - url: 'https://git.kernel.org/stable/c/5cf41031922c154aa5ccda8bcdb0f5e6226582ec'
  - url: 'https://git.kernel.org/stable/c/3cb055df9e8625ce699a259d8178d67b37f2b160'
  - url: 'https://git.kernel.org/stable/c/96426c348def662b06bfdc65be3002905604927a'
  - url: 'https://git.kernel.org/stable/c/faeea8bbf6e958bf3c00cb08263109661975987c'
tags:
  - cve.org
epss: 0.00171
epssPercentile: 0.05674
ingestedAt: '2026-09-08T15:33:26.991Z'
---

## Overview

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

net/sched: cls_fw: fix NULL pointer dereference on shared blocks

The old-method path in fw_classify() calls tcf_block_q() and
dereferences q->handle.  Shared blocks leave block->q NULL, causing a
NULL deref when an empty cls_fw filter is attached to a shared block
and a packet with a nonzero major skb mark is classified.

Reject the configuration in fw_change() when the old method (no
TCA_OPTIONS) is used on a shared block, since fw_classify()'s
old-method path needs block->q which is NULL for shared blocks.

The fixed null-ptr-deref calling stack:
 KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f]
 RIP: 0010:fw_classify (net/sched/cls_fw.c:81)
 Call Trace:
  tcf_classify (./include/net/tc_wrapper.h:197 net/sched/cls_api.c:1764 net/sched/cls_api.c:1860)
  tc_run (net/core/dev.c:4401)
  __dev_queue_xmit (net/core/dev.c:4535 net/core/dev.c:4790)

## Affected

- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < d6d5bd62a09650856e1e2010eb09853eba0d64e1`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < febf64ca79a2d6540ab6e5e197fa0f4f7e84473e`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < 3d41f9a314afa94b1c7c7c75405920123220e8cd`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < 18328eff2f97d1a6adcdb6d4a0f42f2f83a31e28`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < 5cf41031922c154aa5ccda8bcdb0f5e6226582ec`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < 3cb055df9e8625ce699a259d8178d67b37f2b160`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < 96426c348def662b06bfdc65be3002905604927a`
- `Linux >= 1abf272022cf1d18469405f47b4ec49c6a3125db < faeea8bbf6e958bf3c00cb08263109661975987c`
- `Linux 4.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
