# CVE-2025-68380: wifi: ath11k: fix peer HE MCS assignment

> A misconfigured access point can crash the Linux kernel's ath11k WiFi driver by triggering a firmware crash due to incorrect MCS assignment.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 24 Dec 2025
- **Updated:** 11 May 2026
- **Also known as:** BELL-CVE-2025-68380, DEBIAN-CVE-2025-68380, GHSA-96x7-qg22-qw59, ROOT-OS-DEBIAN-12-CVE-2025-68380, ROOT-OS-DEBIAN-13-CVE-2025-68380, ROOT-OS-UBUNTU-2404-CVE-2025-68380, UBUNTU-CVE-2025-68380

## What is CVE-2025-68380?

CVE-2025-68380 is a denial of service vulnerability in Linux, published on 24 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

In the Linux kernel, the following vulnerability has been resolved:

wifi: ath11k: fix peer HE MCS assignment

In ath11k_wmi_send_peer_assoc_cmd(), peer's transmit MCS is sent to
firmware as receive MCS while peer's receive MCS sent as transmit MCS,
which goes against firmwire's definition.

While connecting to a misbehaved AP that advertises 0xffff (meaning not
supported) for 160 MHz transmit MCS map, firmware crashes due to 0xffff
is assigned to he_mcs->rx_mcs_set field.

	Ext Tag: HE Capabilities
	    [...]
	    Supported HE-MCS and NSS Set
		[...]
	        Rx and Tx MCS Maps 160 MHz
		    [...]
	            Tx HE-MCS Map 160 MHz: 0xffff

Swap the assignment to fix this issue.

As the HE rate control mask is meant to limit our own transmit MCS, it
needs to go via he_mcs->rx_mcs_set field. With the aforementioned swapping
done, change is needed as well to apply it to the peer's receive MCS.

Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1

## Which versions are affected by CVE-2025-68380?


## How do I fix CVE-2025-68380?

Apply the vendor's patch.

## Is CVE-2025-68380 being exploited?

There is no known exploitation of CVE-2025-68380 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-68380 and fix it if it is affected.

What it is: CVE-2025-68380 is a denial of service vulnerability in Linux, published on 24 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2025-68380 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2025-68380/ (Markdown: https://insights.sbomify.com/CVE-2025-68380/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2025-68380
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-68380
- OSV: https://osv.dev/vulnerability/CVE-2025-68380

---
From sbomify Insights: https://insights.sbomify.com/CVE-2025-68380/
Summaries are generated and may contain mistakes; the official description above is the record.
