CVE-2026-98705 wifi: mac80211: account proxy paths against the mesh path limit
- Published
- Updated
- Exploit status
- No public exploit known
Description
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211: account proxy paths against the mesh path limit
Proxy-path churn can drive the interface path counter negative and let
later mesh path additions exceed MESH_MAX_MPATHS.
mesh_path_free_rcu() decrements the interface mpaths counter for entries
from both the mesh and proxy path tables, but mpp_path_add() never
reserves a slot in that counter. Removing or expiring a proxy path
therefore returns a slot that was never charged.
mesh_path_add() uses the same counter to enforce MESH_MAX_MPATHS, so once
it falls below the number of installed paths the limit no longer holds.
Reserve the shared quota before allocating a proxy path and release it on
every unsuccessful addition. Mesh and proxy paths now share one
1024-entry budget, so mpp_path_add() can return -ENOSPC at that limit.
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < 0e79c9d260862bd4676955d3cac7baa0d38a5b2e | 0e79c9d260862bd4676955d3cac7baa0d38a5b2e |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < bfd447ee32f727e535e317aa5a8447488f943803 | bfd447ee32f727e535e317aa5a8447488f943803 |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < 7f83dab0045f756a82a15ac751165aefa03bed11 | 7f83dab0045f756a82a15ac751165aefa03bed11 |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < c66ab4b94bb04c162485759196555e08c0965320 | c66ab4b94bb04c162485759196555e08c0965320 |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < df072db65fdaa34ad15e1d66fc06a53e3e97f778 | df072db65fdaa34ad15e1d66fc06a53e3e97f778 |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < 3b75831ceee76d32bb8e7ddd241904f92f9b5407 | 3b75831ceee76d32bb8e7ddd241904f92f9b5407 |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < 5a32409ed34a1868830899a5d2437f0b3bf3532c | 5a32409ed34a1868830899a5d2437f0b3bf3532c |
| Linux kernel | >= ece1a2e7e86078c8379937b546e32cb7f25fcb6c, < a5f35d4b112af1415ff06bd501c8cc26cc08aa8b | a5f35d4b112af1415ff06bd501c8cc26cc08aa8b |
| Linux kernel | = 3.2 | No fix listed |
| Linux kernel | < 5.10.273 | 5.10.273 |
| Linux kernel | < 5.15.224 | 5.15.224 |
| Linux kernel | < 6.1.191 | 6.1.191 |
| Linux kernel | < 6.6.160 | 6.6.160 |
| Linux kernel | < 6.12.113 | 6.12.113 |
| Linux kernel | < 6.18.56 | 6.18.56 |
| Linux kernel | < 7.2.10 | 7.2.10 |
| Linux kernel | < 7.3 | 7.3 |
| debian/linux(Debian:12) | All versions | No fix listed |
| debian/linux(Debian:12) | = 6.1.106-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.106-2 | No fix listed |
| debian/linux(Debian:12) | = 6.1.106-3 | No fix listed |
| debian/linux(Debian:12) | = 6.1.112-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.115-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.119-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.123-1 | No fix listed |
Show 175 more
| Product | Affected versions | Fixed in |
|---|---|---|
| debian/linux(Debian:12) | = 6.1.124-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.128-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.129-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.133-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.135-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.137-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.139-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.140-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.147-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.148-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.153-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.158-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.159-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.162-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.164-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.170-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.170-2 | No fix listed |
| debian/linux(Debian:12) | = 6.1.170-3 | No fix listed |
| debian/linux(Debian:12) | = 6.1.172-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.174-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.176-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.177-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.180-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.187-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.190-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.27-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.37-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.38-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.38-2 | No fix listed |
| debian/linux(Debian:12) | = 6.1.38-2~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.38-3 | No fix listed |
| debian/linux(Debian:12) | = 6.1.38-4 | No fix listed |
| debian/linux(Debian:12) | = 6.1.38-4~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.52-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.55-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.55-1~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.64-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.66-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.67-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.69-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.69-1~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.76-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.76-1~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.82-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.85-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.90-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.90-1~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.94-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.94-1~bpo11+1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.98-1 | No fix listed |
| debian/linux(Debian:12) | = 6.1.99-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.1-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.11-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.11-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.12-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.3-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.4-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.6-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.6-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.7-1 | No fix listed |
| debian/linux(Debian:12) | = 6.10.9-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.10-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.10-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.2-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.4-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.5-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.5-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.6-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.7-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11.9-1 | No fix listed |
| debian/linux(Debian:12) | = 6.11~rc4-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.11~rc5-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.10-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.100-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.101-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.105-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.107-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.11-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.11-1+alpha | No fix listed |
| debian/linux(Debian:12) | = 6.12.11-1+alpha.1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.111-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.113-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.12-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.12-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.13-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.15-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.16-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.17-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.19-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.20-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.21-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.22-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.22-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.25-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.27-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.27-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.29-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.3-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.30-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.30-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.31-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.32-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.32-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.33-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.33-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.35-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.35-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.37-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.38-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.38-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.41-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.43-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.43-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.48-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.5-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.57-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.57-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.6-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.63-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.63-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.69-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.69-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.73-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.73-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.74-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.74-2 | No fix listed |
| debian/linux(Debian:12) | = 6.12.74-2~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.8-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.85-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.85-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.86-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.86-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.88-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.88-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.9-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.9-1+alpha | No fix listed |
| debian/linux(Debian:12) | = 6.12.9-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.90-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.90-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.90-2 | No fix listed |
| debian/linux(Debian:12) | = 6.12.90-2~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.94-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.94-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.95-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.95-1~bpo12+1 | No fix listed |
| debian/linux(Debian:12) | = 6.12.96-1 | No fix listed |
| debian/linux(Debian:12) | = 6.12~rc6-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.10-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.11-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.2-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.3-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.4-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.5-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.6-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.7-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.8-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13.9-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13~rc6-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.13~rc7-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.14.3-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.14.5-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.14.6-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15.1-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15.2-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15.3-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15.4-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15.5-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15.6-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.15~rc7-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.16-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.16.1-1~exp1 | No fix listed |
| debian/linux(Debian:12) | = 6.16.10-1 | No fix listed |
References
- MSRC Security Update Guide vendor-advisory
- Release Notes vendor-advisory
- Red Hat CVE page vendor-advisory
- Red Hat Bugzilla 2555049 issue-tracking
- www.cve.org
- nvd.nist.gov
- git.kernel.org
- git.kernel.org
- git.kernel.org
- git.kernel.org
- git.kernel.org
- git.kernel.org
- git.kernel.org
- git.kernel.org
- git.kernel.org
- USN-9040-1: Linux kernel (Low Latency NVIDIA) vulnerabilities vendor-advisory
- USN-9039-1: Linux kernel (Azure CVM) vulnerabilities vendor-advisory
- Debian Security Tracker CVE-2026-98705 vendor-advisory
- Ubuntu CVE tracker vendor-advisory
- USN-9066-1: Linux kernel (HWE) vulnerabilities vendor-advisory
- USN-9018-2: Linux kernel (HWE) vulnerabilities vendor-advisory