In the Linux kernel, the following vulnerability has been resolved:
wifi: iwlwifi: mld: fix TSO segmentation explosion when AMSDU is disabled
When the TLC notification disables AMSDU for a TID, the MLD driver sets max_tid_amsdu_len to the sentinel value 1. The TSO segmentation path in iwl_mld_tx_tso_segment() checks for zero but not for this sentinel, allowing it to reach the num_subframes calculation:
num_subframes = (max_tid_amsdu_len + pad) / (subf_len + pad) = (1 + 2) / (1534 + 2) = 0
This zero propagates to iwl_tx_tso_segment() which sets:
gso_size = num_subframes * mss = 0
Calling skb_gso_segment() with gso_size=0 creates over 32000 tiny segments from a single GSO skb. This floods the TX ring with ~1024 micro-frames (the rest are purged), creating a massive burst of TX completion events that can lead to memory corruption and a subsequent use-after-free in TCP's retransmit queue (refcount underflow in tcp_shifted_skb, NULL deref in tcp_rack_detect_loss).
The MVM driver is immune because it checks mvmsta->amsdu_enabled before reaching the num_subframes calculation. The MLD driver has no equivalent bitmap check and relies solely on max_tid_amsdu_len, which does not catch the sentinel value.
Fix this by detecting the sentinel value (max_tid_amsdu_len == 1) at the existing check and falling back to non-AMSDU TSO segmentation. Also add a WARN_ON_ONCE guard after the num_subframes division as defense-in-depth to catch any future code paths that produce zero through a different mechanism.
CVSS Details
- CVSS 3.1 Base Score: 9.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jul 22, 2026 | Jul 19, 2026 |
| Rocky_linux | — | Upgrade kernel-debuginfoUpgrade libperfUpgrade kernel-rt-debug-develUpgrade kernel-tools-debuginfoUpgrade kernel-modulesUpgrade kernel-zfcpdumpUpgrade perf-debuginfoUpgrade kernel-debugUpgrade kernel-modules-coreUpgrade kernel-debug-coreUpgrade kernel-debug-debuginfoUpgrade perfUpgrade kernel-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdump-coreUpgrade kernel-debuginfo-common-s390xUpgrade kernel-rt-debugUpgrade kernel-rt-debug-coreUpgrade kernelUpgrade kernel-rtUpgrade rvUpgrade kernel-rt-modules-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-uki-virt-addonsUpgrade kernel-zfcpdump-debuginfoUpgrade python3-perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-modules-coreUpgrade kernel-toolsUpgrade libperf-debuginfoUpgrade kernel-tools-libsUpgrade kernel-rt-modules-extraUpgrade kernel-develUpgrade kernel-debug-modulesUpgrade python3-perf-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-rt-develUpgrade kernel-modules-extra-matchedUpgrade kernel-rt-debug-debuginfoUpgrade rtlaUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-uki-virtUpgrade kernel-debug-uki-virtUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-modules-extraUpgrade kernel-rt-core | Sep 15, 2026 | Sep 10, 2026 |
| Ubuntu | — | Upgrade linux-image-7.0.0-1008-oracle-64kUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-aws-64k-7.0Upgrade linux-image-azureUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-7.0.0-1010-ibmUpgrade linux-image-ibmUpgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-nvidiaUpgrade linux-image-aws-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-7.0.0-1010-azureUpgrade linux-image-raspiUpgrade linux-image-gcp-7.0Upgrade linux-image-gcp-64kUpgrade linux-image-azure-fde-7.0Upgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-aws-7.0Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-nvidia-bosUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-ibm-7.0Upgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-azure-7.0Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-7.0.0-1009-awsUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-azure-fdeUpgrade linux-image-oracle-7.0Upgrade linux-image-oracleUpgrade linux-image-oracle-64kUpgrade linux-image-gcpUpgrade linux-image-7.0.0-1008-oracleUpgrade linux-image-nvidia-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-7.0.0-1009-azure-fdeUpgrade linux-image-raspi-7.0Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-nvidia-7.0Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-awsUpgrade linux-image-7.0.0-2016-nvidia-bos | Jul 21, 2026 | Jul 20, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub