---
id: CVE-2026-72005
title: 'wifi: rt2x00: avoid full teardown before work setup in probe'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  wifi: rt2x00: avoid full teardown before work setup in probe

  rt2x00lib_probe_dev() uses the full rt2x00lib_remove_dev() teardown for
  all probe failures. However, drv_d…
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 >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    8b58d1f1356df6a7d2de3f55bb665b18b04ffda0
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    59afe6148927395cf86f9429900e029a48b1d42b
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    3c0427d719bddb33caf18ff4ffb77cb47de7eb00
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    eb7474d0253bb2de4793e1d3ce833e8564bbe732
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    66bd9b1a72de7c2f5141b02d796048aafaed8a49
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    816559409e340acaa5c9d868291dab30d8c80263
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    56994852d704535ea354a4627ca667b1b4fa0deb
  - >-
    Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 <
    536fb3d739d75a03cb318c0c6fe799425cfea501
  - Linux 2.6.39
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T15:49:49.454298Z'
published: '2026-08-15'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:53:15.650Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-72005'
references:
  - url: 'https://git.kernel.org/stable/c/8b58d1f1356df6a7d2de3f55bb665b18b04ffda0'
  - url: 'https://git.kernel.org/stable/c/59afe6148927395cf86f9429900e029a48b1d42b'
  - url: 'https://git.kernel.org/stable/c/3c0427d719bddb33caf18ff4ffb77cb47de7eb00'
  - url: 'https://git.kernel.org/stable/c/eb7474d0253bb2de4793e1d3ce833e8564bbe732'
  - url: 'https://git.kernel.org/stable/c/66bd9b1a72de7c2f5141b02d796048aafaed8a49'
  - url: 'https://git.kernel.org/stable/c/816559409e340acaa5c9d868291dab30d8c80263'
  - url: 'https://git.kernel.org/stable/c/56994852d704535ea354a4627ca667b1b4fa0deb'
  - url: 'https://git.kernel.org/stable/c/536fb3d739d75a03cb318c0c6fe799425cfea501'
tags:
  - cve.org
epss: 0.00164
epssPercentile: 0.05245
ingestedAt: '2026-10-16T17:24:46.870Z'
---

## Overview

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

wifi: rt2x00: avoid full teardown before work setup in probe

rt2x00lib_probe_dev() uses the full rt2x00lib_remove_dev() teardown for
all probe failures. However, drv_data allocation and workqueue allocation
can fail before intf_work, autowakeup_work and sleep_work have been
initialized.

Do not enter the full remove path until the probe has reached the point
where those work items are set up. Return directly for drv_data allocation
failure, and use a small early cleanup path for workqueue allocation
failure.

This issue was found by our static analysis tool and then confirmed by
manual review of rt2x00lib_probe_dev() and rt2x00lib_remove_dev(). The
early probe exits should not call a common teardown path that assumes the
later work setup has already completed.

A QEMU PoC forced alloc_ordered_workqueue() to fail before the work
initializers are reached. The resulting fail path entered
rt2x00lib_remove_dev(), and DEBUG_OBJECTS reported invalid work drains with
rt2x00lib_probe_dev() and rt2x00lib_remove_dev() in the stack.

## Affected

- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 8b58d1f1356df6a7d2de3f55bb665b18b04ffda0`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 59afe6148927395cf86f9429900e029a48b1d42b`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 3c0427d719bddb33caf18ff4ffb77cb47de7eb00`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < eb7474d0253bb2de4793e1d3ce833e8564bbe732`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 66bd9b1a72de7c2f5141b02d796048aafaed8a49`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 816559409e340acaa5c9d868291dab30d8c80263`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 56994852d704535ea354a4627ca667b1b4fa0deb`
- `Linux >= 0439f5367c8d8bb2ebaca8d7329f51f3148b2fb2 < 536fb3d739d75a03cb318c0c6fe799425cfea501`
- `Linux 2.6.39`

## Remediation

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