{"api_version":"1","generated_at":"2026-09-24T17:37:09+00:00","cve":"CVE-2026-93271","urls":{"html":"https://cve.report/CVE-2026-93271","api":"https://cve.report/api/cve/CVE-2026-93271.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-93271","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-93271"},"summary":{"title":"wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate\n\nath11k can receive HT/VHT/HE frames whose reported MCS is above the\nmaximum that can be expressed in the corresponding mac80211 rate space\n(e.g. an HE frame reported with MCS 12, while HE tops out at MCS 11).\n\nThe frame itself is valid and decodes correctly, but for such a frame\nath11k_dp_rx_h_rate() leaves rx_status->rate_idx set to the out-of-range\nvalue and never assigns rx_status->encoding, so it stays RX_ENC_LEGACY\nfrom the ath11k_dp_rx_h_ppdu() initialization. Once that frame reaches\nmac80211 it trips the rate sanity check and the frame is dropped with a\nsplat:\n\n  ath11k_pci 0000:03:00.0: Received with invalid mcs in HE mode 12\n  WARNING: CPU: 0 PID: 0 at net/mac80211/rx.c:5433 ieee80211_rx_list+0xb0a/0xe90 [mac80211]\n\nDropping the frame would discard otherwise valid data, so instead cap the\nreported MCS to the maximum the rate space can express and deliver the\nframe. Set rx_status->encoding before the range check and assign rate_idx\nfrom the capped value, so a frame with an out-of-range MCS no longer\nleaves partial or bogus rate metadata behind. Also downgrade the logging\nlevel since they are not treated as invalid frames now. The only loss is\nthat such a frame is reported as the capped MCS in the rx rate statistics.\n\nTested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-24 16:17:24","updated_at":"2026-09-24 16:17:24"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/a0b3e6f9645d88f387c4fea546048a91952cd4cd","name":"https://git.kernel.org/stable/c/a0b3e6f9645d88f387c4fea546048a91952cd4cd","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/12b09e478aa7459b7893a695ef77682202f2da83","name":"https://git.kernel.org/stable/c/12b09e478aa7459b7893a695ef77682202f2da83","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a6b951f79e66fc8bd93a537ff1040fbfb567c8bf","name":"https://git.kernel.org/stable/c/a6b951f79e66fc8bd93a537ff1040fbfb567c8bf","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ccbd20f2168f581d90265da1a925b9b6472a0b05","name":"https://git.kernel.org/stable/c/ccbd20f2168f581d90265da1a925b9b6472a0b05","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b77bfe6e59b98dff3ccfcf9b45fc27e3db498626","name":"https://git.kernel.org/stable/c/b77bfe6e59b98dff3ccfcf9b45fc27e3db498626","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6ad04c3e2ec54bf5ec72c81afdd66318a116c539","name":"https://git.kernel.org/stable/c/6ad04c3e2ec54bf5ec72c81afdd66318a116c539","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/fb7b9a7209f839c17c66484dfdc84c9a23c6fd2f","name":"https://git.kernel.org/stable/c/fb7b9a7209f839c17c66484dfdc84c9a23c6fd2f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2bb2a778a487305bd378db5fd5014fbdce4ada2c","name":"https://git.kernel.org/stable/c/2bb2a778a487305bd378db5fd5014fbdce4ada2c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-93271","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93271","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d 6ad04c3e2ec54bf5ec72c81afdd66318a116c539 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d a6b951f79e66fc8bd93a537ff1040fbfb567c8bf git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d b77bfe6e59b98dff3ccfcf9b45fc27e3db498626 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d fb7b9a7209f839c17c66484dfdc84c9a23c6fd2f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d a0b3e6f9645d88f387c4fea546048a91952cd4cd git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d 2bb2a778a487305bd378db5fd5014fbdce4ada2c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d ccbd20f2168f581d90265da1a925b9b6472a0b05 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d5c65159f2895379e11ca13f62feabe93278985d 12b09e478aa7459b7893a695ef77682202f2da83 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.6","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.6 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.270 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.221 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.188 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.157 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.110 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.52 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.6 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/wireless/ath/ath11k/dp_rx.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"6ad04c3e2ec54bf5ec72c81afdd66318a116c539","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"a6b951f79e66fc8bd93a537ff1040fbfb567c8bf","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"b77bfe6e59b98dff3ccfcf9b45fc27e3db498626","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"fb7b9a7209f839c17c66484dfdc84c9a23c6fd2f","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"a0b3e6f9645d88f387c4fea546048a91952cd4cd","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"2bb2a778a487305bd378db5fd5014fbdce4ada2c","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"ccbd20f2168f581d90265da1a925b9b6472a0b05","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"},{"lessThan":"12b09e478aa7459b7893a695ef77682202f2da83","status":"affected","version":"d5c65159f2895379e11ca13f62feabe93278985d","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/wireless/ath/ath11k/dp_rx.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.6"},{"lessThan":"5.6","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.270","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.221","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.188","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.157","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.110","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.52","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.6","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.270","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.221","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.188","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.157","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.110","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.52","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.6","versionStartIncluding":"5.6","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"5.6","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate\n\nath11k can receive HT/VHT/HE frames whose reported MCS is above the\nmaximum that can be expressed in the corresponding mac80211 rate space\n(e.g. an HE frame reported with MCS 12, while HE tops out at MCS 11).\n\nThe frame itself is valid and decodes correctly, but for such a frame\nath11k_dp_rx_h_rate() leaves rx_status->rate_idx set to the out-of-range\nvalue and never assigns rx_status->encoding, so it stays RX_ENC_LEGACY\nfrom the ath11k_dp_rx_h_ppdu() initialization. Once that frame reaches\nmac80211 it trips the rate sanity check and the frame is dropped with a\nsplat:\n\n  ath11k_pci 0000:03:00.0: Received with invalid mcs in HE mode 12\n  WARNING: CPU: 0 PID: 0 at net/mac80211/rx.c:5433 ieee80211_rx_list+0xb0a/0xe90 [mac80211]\n\nDropping the frame would discard otherwise valid data, so instead cap the\nreported MCS to the maximum the rate space can express and deliver the\nframe. Set rx_status->encoding before the range check and assign rate_idx\nfrom the capped value, so a frame with an out-of-range MCS no longer\nleaves partial or bogus rate metadata behind. Also downgrade the logging\nlevel since they are not treated as invalid frames now. The only loss is\nthat such a frame is reported as the capped MCS in the rx rate statistics.\n\nTested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41"}],"providerMetadata":{"dateUpdated":"2026-09-24T15:52:13.287Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/6ad04c3e2ec54bf5ec72c81afdd66318a116c539"},{"url":"https://git.kernel.org/stable/c/a6b951f79e66fc8bd93a537ff1040fbfb567c8bf"},{"url":"https://git.kernel.org/stable/c/b77bfe6e59b98dff3ccfcf9b45fc27e3db498626"},{"url":"https://git.kernel.org/stable/c/fb7b9a7209f839c17c66484dfdc84c9a23c6fd2f"},{"url":"https://git.kernel.org/stable/c/a0b3e6f9645d88f387c4fea546048a91952cd4cd"},{"url":"https://git.kernel.org/stable/c/2bb2a778a487305bd378db5fd5014fbdce4ada2c"},{"url":"https://git.kernel.org/stable/c/ccbd20f2168f581d90265da1a925b9b6472a0b05"},{"url":"https://git.kernel.org/stable/c/12b09e478aa7459b7893a695ef77682202f2da83"}],"title":"wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-93271","datePublished":"2026-09-24T15:52:13.287Z","dateReserved":"2026-09-17T16:02:15.098Z","dateUpdated":"2026-09-24T15:52:13.287Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-24 16:17:24","lastModifiedDate":"2026-09-24 16:17:24","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"93271","Ordinal":"1","Title":"wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus r","CVE":"CVE-2026-93271","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"93271","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate\n\nath11k can receive HT/VHT/HE frames whose reported MCS is above the\nmaximum that can be expressed in the corresponding mac80211 rate space\n(e.g. an HE frame reported with MCS 12, while HE tops out at MCS 11).\n\nThe frame itself is valid and decodes correctly, but for such a frame\nath11k_dp_rx_h_rate() leaves rx_status->rate_idx set to the out-of-range\nvalue and never assigns rx_status->encoding, so it stays RX_ENC_LEGACY\nfrom the ath11k_dp_rx_h_ppdu() initialization. Once that frame reaches\nmac80211 it trips the rate sanity check and the frame is dropped with a\nsplat:\n\n  ath11k_pci 0000:03:00.0: Received with invalid mcs in HE mode 12\n  WARNING: CPU: 0 PID: 0 at net/mac80211/rx.c:5433 ieee80211_rx_list+0xb0a/0xe90 [mac80211]\n\nDropping the frame would discard otherwise valid data, so instead cap the\nreported MCS to the maximum the rate space can express and deliver the\nframe. Set rx_status->encoding before the range check and assign rate_idx\nfrom the capped value, so a frame with an out-of-range MCS no longer\nleaves partial or bogus rate metadata behind. Also downgrade the logging\nlevel since they are not treated as invalid frames now. The only loss is\nthat such a frame is reported as the capped MCS in the rx rate statistics.\n\nTested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41","Type":"Description","Title":"wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus r"}]}}}