CVE-2026-98703
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: minstrel_ht: validate fixed rate index
The fixed_rate_idx debugfs file is a plain u32 attribute, so any value can be written to it. minstrel_ht_update_stats() then copies the value into mi->max_tp_rate[] and mi->max_prob_rate, and minstrel_ht_set_rate() uses MI_RATE_GROUP()/MI_RATE_IDX() to index minstrel_mcs_groups[] (42 entries) and mi->groups[].rates[] (10 entries) with it.
Writing e.g. 65535 selects group 4095 and rate index 15, far outside both arrays.
Read full descriptionShow less
The out-of-bounds entries are dereferenced and updated as struct minstrel_rate_stats (retry counts, etc.), so the invalid index corrupts adjacent kernel memory. With CONFIG_UBSAN_BOUNDS the access is reported as an array-index-out-of-bounds in minstrel_ht_set_rate().
Only a valid group/rate pair, or U32_MAX to disable fixed rate processing, can be used safely, so reject any other value when the debugfs file is written.
The file is only reachable through a root-only debugfs mount, so this is not a privilege boundary. The out-of-bounds access is still a bug that must not be reachable through a writable debugfs attribute.
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.20 %
- Percentile among all scored CVEs
- 9
- 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-98703",
"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": "24f7580e852b5472b51eea322bb78454df0054b8",
"lessThan": "f8ab6ae1fa360b0191252677f41e781dcb0ffe6e",
"versionType": "git"
},
{
"status": "affected",
"version": "24f7580e852b5472b51eea322bb78454df0054b8",
"lessThan": "42aa9feb27b600809414a3c6b0c650bafba542a9",
"versionType": "git"
},
{
"status": "affected",
"version": "24f7580e852b5472b51eea322bb78454df0054b8",
"lessThan": "43082d604a9937b94ceb2e484403956d0f363324",
"versionType": "git"
},
{
"status": "affected",
"version": "24f7580e852b5472b51eea322bb78454df0054b8",
"lessThan": "15fb9e3cea55fbc378261ce35a32b0f8828f0000",
"versionType": "git"
}
],
"programFiles": [
"net/mac80211/rc80211_minstrel_ht.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.1"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.1",
"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/rc80211_minstrel_ht.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:23.810",
"references": [
{
"url": "https://git.kernel.org/stable/c/15fb9e3cea55fbc378261ce35a32b0f8828f0000",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/42aa9feb27b600809414a3c6b0c650bafba542a9",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/43082d604a9937b94ceb2e484403956d0f363324",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f8ab6ae1fa360b0191252677f41e781dcb0ffe6e",
"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: minstrel_ht: validate fixed rate index\n\nThe fixed_rate_idx debugfs file is a plain u32 attribute, so any value\ncan be written to it. minstrel_ht_update_stats() then copies the value\ninto mi->max_tp_rate[] and mi->max_prob_rate, and\nminstrel_ht_set_rate() uses MI_RATE_GROUP()/MI_RATE_IDX() to index\nminstrel_mcs_groups[] (42 entries) and mi->groups[].rates[] (10 entries)\nwith it.\n\nWriting e.g. 65535 selects group 4095 and rate index 15, far outside\nboth arrays. The out-of-bounds entries are dereferenced and updated as\nstruct minstrel_rate_stats (retry counts, etc.), so the invalid index\ncorrupts adjacent kernel memory. With CONFIG_UBSAN_BOUNDS the access is\nreported as an array-index-out-of-bounds in minstrel_ht_set_rate().\n\nOnly a valid group/rate pair, or U32_MAX to disable fixed rate\nprocessing, can be used safely, so reject any other value when the\ndebugfs file is written.\n\nThe file is only reachable through a root-only debugfs mount, so this is\nnot a privilege boundary. The out-of-bounds access is still a bug that\nmust not be reachable through a writable debugfs attribute."
}
],
"lastModified": "2026-10-19T10:19:34.593",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}