{"id":"CVE-2026-68409","title":"wifi: mac80211: defer link RX stats percpu free to RCU","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: defer link RX stats percpu free to RCU\n\nsta_remove_link() frees a removed MLO link's RX stats percpu buffer right\naway, but defers only the link contain…","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= c71420db653aba30a234d1e4cf86dde376e604fa < 2aa1789880fa5e41049b0f6a74a4fc2fa1997610","Linux >= c71420db653aba30a234d1e4cf86dde376e604fa < a03fceae0c65b31ce31840dac5e26684ceecb65b","Linux >= c71420db653aba30a234d1e4cf86dde376e604fa < aa2eb62525188269cdd402a583b9a8ed94657ff0","Linux 6.0"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T15:48:24.807491Z"},"published":"2026-08-10","updated":"2026-10-16","sourceUpdated":"2026-10-16T15:53:12.331Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-68409","references":[{"url":"https://git.kernel.org/stable/c/2aa1789880fa5e41049b0f6a74a4fc2fa1997610"},{"url":"https://git.kernel.org/stable/c/a03fceae0c65b31ce31840dac5e26684ceecb65b"},{"url":"https://git.kernel.org/stable/c/aa2eb62525188269cdd402a583b9a8ed94657ff0"}],"tags":["cve.org"],"epss":0.00239,"epssPercentile":0.13916,"ingestedAt":"2026-10-16T17:24:46.865Z","slug":"CVE-2026-68409","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: defer link RX stats percpu free to RCU\n\nsta_remove_link() frees a removed MLO link's RX stats percpu buffer right\naway, but defers only the link container to RCU:\n\n\tsta_info_free_link(&alloc->info);\n\tkfree_rcu(alloc, rcu_head);\n\nThe RX fast path reads link_sta under rcu_read_lock and writes the percpu\nstats. A reader that resolved link_sta before the removal keeps the\npointer. The container stays alive from the kfree_rcu, so the read still\nworks. But the percpu block it points to is already freed. This needs\nuses_rss. That is when pcpu_rx_stats exists.\n\nThe full STA teardown frees the deflink stats only after\nsynchronize_net(). The link removal path had no such barrier. The race is\nhard to win in practice, but the free should still wait for RCU.\n\nFree the link together with its data from a single RCU callback, so the\npercpu block is reclaimed only after readers drain.\n\n## Affected\n\n- `Linux >= c71420db653aba30a234d1e4cf86dde376e604fa < 2aa1789880fa5e41049b0f6a74a4fc2fa1997610`\n- `Linux >= c71420db653aba30a234d1e4cf86dde376e604fa < a03fceae0c65b31ce31840dac5e26684ceecb65b`\n- `Linux >= c71420db653aba30a234d1e4cf86dde376e604fa < aa2eb62525188269cdd402a583b9a8ed94657ff0`\n- `Linux 6.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":48.4,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}