In the Linux kernel, the following vulnerability has been resolved:
wifi: cfg80211: cancel wiphy_work before freeing wiphy
A wiphywork can be queued from the moment the wiphy is allocated and initialized (i.e. wiphynewnm). When a wiphywork is queued, the rdev::wiphy_work is getting queued.
If wiphyfree is called before the rdev::wiphywork 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.
[
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a5158d67bff06cb6fea31be39aeb319fd908ed8e",
"signature_type": "Line",
"id": "CVE-2025-21979-0843bc6d",
"target": {
"file": "net/wireless/core.c"
},
"digest": {
"line_hashes": [
"174515598618252019949439972158102495742",
"260440829841222886319061936512546019129",
"99943730363388717886499538591905534789",
"226893969675813189893378206661463633564"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dea22de162058216a90f2706f0d0b36f0ff309fd",
"signature_type": "Function",
"id": "CVE-2025-21979-13cfd5d3",
"target": {
"function": "cfg80211_dev_free",
"file": "net/wireless/core.c"
},
"digest": {
"length": 475.0,
"function_hash": "210742740473862169659963913691807191701"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a5158d67bff06cb6fea31be39aeb319fd908ed8e",
"signature_type": "Function",
"id": "CVE-2025-21979-40a50c52",
"target": {
"function": "cfg80211_dev_free",
"file": "net/wireless/core.c"
},
"digest": {
"length": 475.0,
"function_hash": "210742740473862169659963913691807191701"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75d262ad3c36d52852d764588fcd887f0fcd9138",
"signature_type": "Function",
"id": "CVE-2025-21979-5da44008",
"target": {
"function": "cfg80211_dev_free",
"file": "net/wireless/core.c"
},
"digest": {
"length": 475.0,
"function_hash": "210742740473862169659963913691807191701"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0272d4af7f92997541d8bbf4c51918b93ded6ee2",
"signature_type": "Line",
"id": "CVE-2025-21979-76e9a471",
"target": {
"file": "net/wireless/core.c"
},
"digest": {
"line_hashes": [
"174515598618252019949439972158102495742",
"260440829841222886319061936512546019129",
"99943730363388717886499538591905534789",
"226893969675813189893378206661463633564"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75d262ad3c36d52852d764588fcd887f0fcd9138",
"signature_type": "Line",
"id": "CVE-2025-21979-78ef0950",
"target": {
"file": "net/wireless/core.c"
},
"digest": {
"line_hashes": [
"174515598618252019949439972158102495742",
"260440829841222886319061936512546019129",
"99943730363388717886499538591905534789",
"226893969675813189893378206661463633564"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@dea22de162058216a90f2706f0d0b36f0ff309fd",
"signature_type": "Line",
"id": "CVE-2025-21979-80cbb41e",
"target": {
"file": "net/wireless/core.c"
},
"digest": {
"line_hashes": [
"174515598618252019949439972158102495742",
"260440829841222886319061936512546019129",
"99943730363388717886499538591905534789",
"226893969675813189893378206661463633564"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72d520476a2fab6f3489e8388ab524985d6c4b90",
"signature_type": "Line",
"id": "CVE-2025-21979-ae55c57d",
"target": {
"file": "net/wireless/core.c"
},
"digest": {
"line_hashes": [
"174515598618252019949439972158102495742",
"260440829841222886319061936512546019129",
"99943730363388717886499538591905534789",
"226893969675813189893378206661463633564"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0272d4af7f92997541d8bbf4c51918b93ded6ee2",
"signature_type": "Function",
"id": "CVE-2025-21979-ea96be19",
"target": {
"function": "cfg80211_dev_free",
"file": "net/wireless/core.c"
},
"digest": {
"length": 475.0,
"function_hash": "210742740473862169659963913691807191701"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72d520476a2fab6f3489e8388ab524985d6c4b90",
"signature_type": "Function",
"id": "CVE-2025-21979-fb62aa9e",
"target": {
"function": "cfg80211_dev_free",
"file": "net/wireless/core.c"
},
"digest": {
"length": 475.0,
"function_hash": "210742740473862169659963913691807191701"
},
"deprecated": false
}
]