{"api_version":"1","generated_at":"2026-10-24T11:14:56+00:00","cve":"CVE-2026-98958","urls":{"html":"https://cve.report/CVE-2026-98958","api":"https://cve.report/api/cve/CVE-2026-98958.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98958","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98958"},"summary":{"title":"wifi: mt76: account non-AQL frames per peer rather than per link","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mt76: account non-AQL frames per peer rather than per link\n\nThe driver increments wcid->non_aql_packets when a frame goes to the\nhardware queue. The completion path decrements the counter again.\n\nFor an MLO peer, the hardware reports the completion on the link that it\nused for the transmission. This link can differ from the link that the\ndriver queued the frame on. In that case, the increment and the\ndecrement go to different link wcids, and the count drifts upwards until\nit blocks the station.\n\nKeep the count on the wcid of the primary link, like the other peer-wide\nstate.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-23 13:17:17","updated_at":"2026-10-23 13:17:17"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/e0f2ae4a7539454ec50c353571779fcda8c0cfcf","name":"https://git.kernel.org/stable/c/e0f2ae4a7539454ec50c353571779fcda8c0cfcf","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/752770d7a58c821c17909c3ca67f9f14ab146a40","name":"https://git.kernel.org/stable/c/752770d7a58c821c17909c3ca67f9f14ab146a40","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9f28f504650869d41f7b3e98e4bc4547af4d5670","name":"https://git.kernel.org/stable/c/9f28f504650869d41f7b3e98e4bc4547af4d5670","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98958","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98958","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 86c051f2c418abd7eefd8c545a01bdffd220cb95 9f28f504650869d41f7b3e98e4bc4547af4d5670 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 86c051f2c418abd7eefd8c545a01bdffd220cb95 e0f2ae4a7539454ec50c353571779fcda8c0cfcf git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 86c051f2c418abd7eefd8c545a01bdffd220cb95 752770d7a58c821c17909c3ca67f9f14ab146a40 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.11","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.11 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.57 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.11 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * 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/mediatek/mt76/mt76.h","drivers/net/wireless/mediatek/mt76/tx.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"9f28f504650869d41f7b3e98e4bc4547af4d5670","status":"affected","version":"86c051f2c418abd7eefd8c545a01bdffd220cb95","versionType":"git"},{"lessThan":"e0f2ae4a7539454ec50c353571779fcda8c0cfcf","status":"affected","version":"86c051f2c418abd7eefd8c545a01bdffd220cb95","versionType":"git"},{"lessThan":"752770d7a58c821c17909c3ca67f9f14ab146a40","status":"affected","version":"86c051f2c418abd7eefd8c545a01bdffd220cb95","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/wireless/mediatek/mt76/mt76.h","drivers/net/wireless/mediatek/mt76/tx.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.11"},{"lessThan":"6.11","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.57","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.57","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.11","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"6.11","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mt76: account non-AQL frames per peer rather than per link\n\nThe driver increments wcid->non_aql_packets when a frame goes to the\nhardware queue. The completion path decrements the counter again.\n\nFor an MLO peer, the hardware reports the completion on the link that it\nused for the transmission. This link can differ from the link that the\ndriver queued the frame on. In that case, the increment and the\ndecrement go to different link wcids, and the count drifts upwards until\nit blocks the station.\n\nKeep the count on the wcid of the primary link, like the other peer-wide\nstate."}],"providerMetadata":{"dateUpdated":"2026-10-23T12:19:26.256Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/9f28f504650869d41f7b3e98e4bc4547af4d5670"},{"url":"https://git.kernel.org/stable/c/e0f2ae4a7539454ec50c353571779fcda8c0cfcf"},{"url":"https://git.kernel.org/stable/c/752770d7a58c821c17909c3ca67f9f14ab146a40"}],"title":"wifi: mt76: account non-AQL frames per peer rather than per link","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98958","datePublished":"2026-10-23T12:19:26.256Z","dateReserved":"2026-09-25T10:25:14.382Z","dateUpdated":"2026-10-23T12:19:26.256Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 13:17:17","lastModifiedDate":"2026-10-23 13:17:17","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98958","Ordinal":"1","Title":"wifi: mt76: account non-AQL frames per peer rather than per link","CVE":"CVE-2026-98958","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98958","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mt76: account non-AQL frames per peer rather than per link\n\nThe driver increments wcid->non_aql_packets when a frame goes to the\nhardware queue. The completion path decrements the counter again.\n\nFor an MLO peer, the hardware reports the completion on the link that it\nused for the transmission. This link can differ from the link that the\ndriver queued the frame on. In that case, the increment and the\ndecrement go to different link wcids, and the count drifts upwards until\nit blocks the station.\n\nKeep the count on the wcid of the primary link, like the other peer-wide\nstate.","Type":"Description","Title":"wifi: mt76: account non-AQL frames per peer rather than per link"}]}}}