Skip to content
Heist/ feed
Back to feed
HighFix available

wifi: cfg80211: cancel wiphy_work before freeing wiphy

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel wiphy_work before freeing wiphy A wiphy_work can be queued from the moment the wiphy is allocated and initialized (i.e. wiphy_new_nm). When a wiphy_work is queued, the rdev::wiphy_work is getting queued. If wiphy_free is called before the rdev::wiphy_work had a chance to run, the wiphy memory will be freed, and then when it eventally gets to run it'll use invalid memory. Fix this by canceling the work before freeing the wiphy.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.1.132, 6.12.20, 6.13.8, 6.6.84
CVEs
CVE-2025-21979
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 07:47 UTC · Revision 1

Source evidence

wifi: cfg80211: cancel wiphy_work before freeing wiphy

core-osv · Original source

Published 1 Apr 2025, 15:47 UTC

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel wiphy_work before freeing wiphy A wiphy_work can be queued from the moment the wiphy is allocated and initialized (i.e. wiphy_new_nm). When a wiphy_work is queued, the rdev::wiphy_work is getting queued. If wiphy_free is called before the rdev::wiphy_work had a chance to run, the wiphy memory will be freed, and then when it eventally gets to run it'll use invalid memory. Fix this by canceling the work before freeing the wiphy.

osv:CVE-2025-21979

Kernel

Fixed versions: 6.1.132, 6.6.84, 6.12.20, 6.13.8

Complete source record
{
  "id": "4cbba1f86744435eba9f6be3cb9bceacffc98cc8d7013e31b9b304b7343cd64b",
  "url": "https://osv.dev/vulnerability/CVE-2025-21979",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "wifi: cfg80211: cancel wiphy_work before freeing wiphy",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: cancel wiphy_work before freeing wiphy A wiphy_work can be queued from the moment the wiphy is allocated and initialized (i.e. wiphy_new_nm). When a wiphy_work is queued, the rdev::wiphy_work is getting queued. If wiphy_free is called before the rdev::wiphy_work had a chance to run, the wiphy memory will be freed, and then when it eventally gets to run it'll use invalid memory. Fix this by canceling the work before freeing the wiphy.",
    "evidence": "osv:CVE-2025-21979",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.1.132",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.84",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.20",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.13.8",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-21979",
      "aliases": [
        "CVE-2025-21979"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "ddb1bfbf4ab5c753954d0cd728253b642934a9f2"
                },
                {
                  "fixed": "8930a3e1568cf534f86c8ed2def817c6d0528fc1"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3fcc6d7d5f40dad56dee7bde787b7e23edd4b93c"
                },
                {
                  "fixed": "0272d4af7f92997541d8bbf4c51918b93ded6ee2"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "a3ee4dc84c4e9d14cb34dad095fd678127aca5b6"
                },
                {
                  "fixed": "75d262ad3c36d52852d764588fcd887f0fcd9138"
                },
                {
                  "fixed": "a5158d67bff06cb6fea31be39aeb319fd908ed8e"
                },
                {
                  "fixed": "dea22de162058216a90f2706f0d0b36f0ff309fd"
                },
                {
                  "fixed": "72d520476a2fab6f3489e8388ab524985d6c4b90"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6.1.57"
                },
                {
                  "fixed": "6.1.132"
                }
              ]
            }
          ],
          "versions": [
            "v6.1.131",
            "v6.1.130",
            "v6.1.129",
            "v6.1.128",
            "v6.1.127",
            "v6.1.126",
            "v6.1.125",
            "v6.1.124",
            "v6.1.123",
            "v6.1.122",
            "v6.1.121",
            "v6.1.120",
            "v6.1.119",
            "v6.1.118",
            "v6.1.117",
            "v6.1.116",
            "v6.1.115",
            "v6.1.114",
            "v6.1.113",
            "v6.1.112",
            "v6.1.111",
            "v6.1.110",
            "v6.1.109",
            "v6.1.108",
            "v6.1.107",
            "v6.1.106",
            "v6.1.105",
            "v6.1.104",
            "v6.1.103",
            "v6.1.102",
            "v6.1.101",
            "v6.1.100",
            "v6.1.99",
            "v6.1.98",
            "v6.1.97",
            "v6.1.96",
            "v6.1.95",
            "v6.1.94",
            "v6.1.93",
            "v6.1.92",
            "v6.1.91",
            "v6.1.90",
            "v6.1.89",
            "v6.1.88",
            "v6.1.87",
            "v6.1.86",
            "v6.1.85",
            "v6.1.84",
            "v6.1.83",
            "v6.1.82",
            "v6.1.81",
            "v6.1.80",
            "v6.1.79",
            "v6.1.78",
            "v6.1.77",
            "v6.1.76",
            "v6.1.75",
            "v6.1.74",
            "v6.1.73",
            "v6.1.72",
            "v6.1.71",
            "v6.1.70",
            "v6.1.69",
            "v6.1.68",
            "v6.1.67",
            "v6.1.66",
            "v6.1.65",
            "v6.1.64",
            "v6.1.63",
            "v6.1.62",
            "v6.1.61",
            "v6.1.60",
            "v6.1.59",
            "v6.1.58",
            "v6.1.57"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-21979.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "6.1.132"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.84"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.5.0"
                },
                {
                  "fixed": "6.12.20"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.13.8"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-21979.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.215695867Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/0272d4af7f92997541d8bbf4c51918b93ded6ee2",
        "https://git.kernel.org/stable/c/72d520476a2fab6f3489e8388ab524985d6c4b90",
        "https://git.kernel.org/stable/c/75d262ad3c36d52852d764588fcd887f0fcd9138",
        "https://git.kernel.org/stable/c/8930a3e1568cf534f86c8ed2def817c6d0528fc1",
        "https://git.kernel.org/stable/c/a5158d67bff06cb6fea31be39aeb319fd908ed8e",
        "https://git.kernel.org/stable/c/dea22de162058216a90f2706f0d0b36f0ff309fd",
        "https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21979.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-21979",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/21xxx/CVE-2025-21979.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-21979",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518674,
  "published_at": "2025-04-01T15:47:08.699+00:00"
}