CVE-2026-98708
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: keep paired old chanctx alive
An in-place replacement keeps reciprocal replace_ctx pointers between the old WILL_BE_REPLACED chanctx and the new REPLACES_OTHER chanctx. However, the early free paths only consider assigned and reserved link users when deciding whether to free the old chanctx.
That lets the old chanctx be freed too early while the replacement partner still points back to it, either when the last assigned link is released or when that link successfully reassigns to another existing context. Later unreserve and switch-finalization paths can then follow a stale replace_ctx pointer.
Read full descriptionShow less
Keep a paired old chanctx alive until the replacement pair has been torn down. Apply the same check to both __ieee80211_link_release_channel() and ieee80211_link_use_reserved_reassign(). If the replacement is later abandoned, ieee80211_link_unreserve_chanctx() already tears down the pairing before freeing the old chanctx once no users remain.
CVSS
NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days
- 0.17 %
- Percentile among all scored CVEs
- 6
- Score date
- 10/20/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
References
Show 4 references
Raw JSON (NVD)
Show
{
"id": "CVE-2026-98708",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "5bcae31d9cb1ebfad3ad5a3eea04c8cdc329a04f",
"lessThan": "21a688cbeae0e682f03e91f1e7a7eedd60d9d4f2",
"versionType": "git"
},
{
"status": "affected",
"version": "5bcae31d9cb1ebfad3ad5a3eea04c8cdc329a04f",
"lessThan": "1c82d0c5d509179ba2a4edfa096f516aebf960b0",
"versionType": "git"
},
{
"status": "affected",
"version": "5bcae31d9cb1ebfad3ad5a3eea04c8cdc329a04f",
"lessThan": "afd1cdd16a25c7185b812a612ab7d5f2cbd1e086",
"versionType": "git"
},
{
"status": "affected",
"version": "5bcae31d9cb1ebfad3ad5a3eea04c8cdc329a04f",
"lessThan": "3412e9a800786d1dec4a58367db1cba275e7ef11",
"versionType": "git"
}
],
"programFiles": [
"net/mac80211/chan.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.17"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.17",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.113",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.56",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.10",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/mac80211/chan.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:24.337",
"references": [
{
"url": "https://git.kernel.org/stable/c/1c82d0c5d509179ba2a4edfa096f516aebf960b0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/21a688cbeae0e682f03e91f1e7a7eedd60d9d4f2",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3412e9a800786d1dec4a58367db1cba275e7ef11",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/afd1cdd16a25c7185b812a612ab7d5f2cbd1e086",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: keep paired old chanctx alive\n\nAn in-place replacement keeps reciprocal replace_ctx pointers between\nthe old WILL_BE_REPLACED chanctx and the new REPLACES_OTHER chanctx.\nHowever, the early free paths only consider assigned and reserved link\nusers when deciding whether to free the old chanctx.\n\nThat lets the old chanctx be freed too early while the replacement\npartner still points back to it, either when the last assigned link is\nreleased or when that link successfully reassigns to another existing\ncontext. Later unreserve and switch-finalization paths can then follow a\nstale replace_ctx pointer.\n\nKeep a paired old chanctx alive until the replacement pair has been torn\ndown. Apply the same check to both __ieee80211_link_release_channel()\nand ieee80211_link_use_reserved_reassign(). If the replacement is later\nabandoned, ieee80211_link_unreserve_chanctx() already tears down the\npairing before freeing the old chanctx once no users remain."
}
],
"lastModified": "2026-10-19T10:19:35.100",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}