wifi: mac80211: consume only present negotiated TTLM maps
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: consume only present negotiated TTLM maps ieee80211_tid_to_link_map_size_ok() validates negotiated TTLM elements against the number of link-map entries indicated by link_map_presence. ieee80211_parse_neg_ttlm() must consume the same layout. The parser advanced its cursor for every TID, including TIDs whose presence bit is clear and therefore have no map bytes in the element. A sparse map can then make a later present TID read past the validated element. The bad bytes land in neg_ttlm->{up,down}link[tid] but are gated by valid_links before being applied to driver state, so a peer cannot turn the read into a policy change. Under KUnit + KASAN with an exact-sized element allocation the OOB read is reported as a slab-out-of-bounds; whether the same trigger fires under the production RX path depends on surrounding allocator state. Advance the cursor only when the current TID has a map present.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.12.92, 6.18.34, 7.0.11
- CVEs
- CVE-2026-64223
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 07:47 UTC · Revision 1
Source evidence
wifi: mac80211: consume only present negotiated TTLM maps
core-osv · Original sourcePublished 24 Jul 2026, 15:23 UTC
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: consume only present negotiated TTLM maps ieee80211_tid_to_link_map_size_ok() validates negotiated TTLM elements against the number of link-map entries indicated by link_map_presence. ieee80211_parse_neg_ttlm() must consume the same layout. The parser advanced its cursor for every TID, including TIDs whose presence bit is clear and therefore have no map bytes in the element. A sparse map can then make a later present TID read past the validated element. The bad bytes land in neg_ttlm->{up,down}link[tid] but are gated by valid_links before being applied to driver state, so a peer cannot turn the read into a policy change. Under KUnit + KASAN with an exact-sized element allocation the OOB read is reported as a slab-out-of-bounds; whether the same trigger fires under the production RX path depends on surrounding allocator state. Advance the cursor only when the current TID has a map present.
osv:CVE-2026-64223
Kernel
Fixed versions: 6.12.92, 6.18.34, 7.0.11
Complete source record
{
"id": "ffbf95705c5f0502b17498e5bedd0f47c63250842a97c5c5a20b6049fdfb2803",
"url": "https://osv.dev/vulnerability/CVE-2026-64223",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "wifi: mac80211: consume only present negotiated TTLM maps",
"summary": "In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: consume only present negotiated TTLM maps ieee80211_tid_to_link_map_size_ok() validates negotiated TTLM elements against the number of link-map entries indicated by link_map_presence. ieee80211_parse_neg_ttlm() must consume the same layout. The parser advanced its cursor for every TID, including TIDs whose presence bit is clear and therefore have no map bytes in the element. A sparse map can then make a later present TID read past the validated element. The bad bytes land in neg_ttlm->{up,down}link[tid] but are gated by valid_links before being applied to driver state, so a peer cannot turn the read into a policy change. Under KUnit + KASAN with an exact-sized element allocation the OOB read is reported as a slab-out-of-bounds; whether the same trigger fires under the production RX path depends on surrounding allocator state. Advance the cursor only when the current TID has a map present.",
"evidence": "osv:CVE-2026-64223",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.12.92",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.34",
"evidence": "/affected/1/ranges"
},
{
"value": "7.0.11",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-64223",
"aliases": [
"CVE-2026-64223"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "8f500fbc6c655976c8062b1f1e55bd0b3095d6c2"
},
{
"fixed": "f7d395dc5008168ac5b9c1ac2791e59a6078cca1"
},
{
"fixed": "2dd9304727c7041df0a599595910bdbe02ad03c5"
},
{
"fixed": "2becaaeebe230ade1fcd5d0f1cde4d6ee93ec78f"
},
{
"fixed": "a6e6ccd5bd07155c2add6c74ce1a5e68ad3b95ea"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64223.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.9.0"
},
{
"fixed": "6.12.92"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.34"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.0.11"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64223.json"
}
}
],
"modified": "2026-10-28T02:30:26.864566374Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/2becaaeebe230ade1fcd5d0f1cde4d6ee93ec78f",
"https://git.kernel.org/stable/c/2dd9304727c7041df0a599595910bdbe02ad03c5",
"https://git.kernel.org/stable/c/a6e6ccd5bd07155c2add6c74ce1a5e68ad3b95ea",
"https://git.kernel.org/stable/c/f7d395dc5008168ac5b9c1ac2791e59a6078cca1",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64223.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-64223",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64223.json"
}
},
"related_cves": [
{
"value": "CVE-2026-64223",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 493533,
"published_at": "2026-07-24T15:23:08.629+00:00"
}