---
id: CVE-2026-22999
title: 'net/sched: sch_qfq: do not free existing class in qfq_change_class()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net/sched: sch_qfq: do not free existing class in qfq_change_class()

  Fixes qfq_change_class() error case.

  cl->qdisc and cl should only be freed if a new class and qdi…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    2a64fb9b47afffeb5dbab5fd3a518e1436dcc90e
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    cff6cd703f41d8071995956142729e4bba160363
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    f06f7635499bc806cbe2bbc8805c7cef8b1edddf
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    0a234660dc70ce45d771cbc76b20d925b73ec160
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    362e269bb03f7076ba9990e518aeddb898232e50
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    e9d8f11652fa08c647bf7bba7dd8163241a332cd
  - >-
    Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd <
    3879cffd9d07aa0377c4b8835c4f64b4fb24ac78
  - Linux 3.8
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-06-16T20:35:55.025194Z'
published: '2026-01-25'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T18:25:27.014Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-22999'
references:
  - url: 'https://git.kernel.org/stable/c/2a64fb9b47afffeb5dbab5fd3a518e1436dcc90e'
  - url: 'https://git.kernel.org/stable/c/cff6cd703f41d8071995956142729e4bba160363'
  - url: 'https://git.kernel.org/stable/c/f06f7635499bc806cbe2bbc8805c7cef8b1edddf'
  - url: 'https://git.kernel.org/stable/c/0a234660dc70ce45d771cbc76b20d925b73ec160'
  - url: 'https://git.kernel.org/stable/c/362e269bb03f7076ba9990e518aeddb898232e50'
  - url: 'https://git.kernel.org/stable/c/e9d8f11652fa08c647bf7bba7dd8163241a332cd'
  - url: 'https://git.kernel.org/stable/c/3879cffd9d07aa0377c4b8835c4f64b4fb24ac78'
tags:
  - cve.org
epss: 0.00239
epssPercentile: 0.13989
ingestedAt: '2026-10-19T18:35:50.111Z'
---

## Overview

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

net/sched: sch_qfq: do not free existing class in qfq_change_class()

Fixes qfq_change_class() error case.

cl->qdisc and cl should only be freed if a new class and qdisc
were allocated, or we risk various UAF.

## Affected

- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < 2a64fb9b47afffeb5dbab5fd3a518e1436dcc90e`
- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < cff6cd703f41d8071995956142729e4bba160363`
- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < f06f7635499bc806cbe2bbc8805c7cef8b1edddf`
- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < 0a234660dc70ce45d771cbc76b20d925b73ec160`
- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < 362e269bb03f7076ba9990e518aeddb898232e50`
- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < e9d8f11652fa08c647bf7bba7dd8163241a332cd`
- `Linux >= 462dbc9101acd38e92eda93c0726857517a24bbd < 3879cffd9d07aa0377c4b8835c4f64b4fb24ac78`
- `Linux 3.8`

## Remediation

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