CVE-2026-31552: wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom

Published Apr 24, 2026
·
Updated

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

wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom

Since upstream commit e75665dd0968 ("wifi: wlcore: ensure skb headroom before skbpush"), wl1271txallocate() and with it wl1271preparetxframe() returns -EAGAIN if pskbexpandhead() fails. However, in wlcoretxworklocked(), a return value of -EAGAIN from wl1271preparetxframe() is interpreted as the aggregation buffer being full. This causes the code to flush the buffer, put the skb back at the head of the queue, and immediately retry the same skb in a tight while loop.

Because wlcoretxworklocked() holds wl->mutex, and the retry happens immediately with GFPATOMIC, this will result in an infinite loop and a CPU soft lockup. Return -ENOMEM instead so the packet is dropped and the loop terminates.

The problem was found by an experimental code review agent based on gemini-3.1-pro while reviewing backports into v6.18.y.

Affected Software

17 affected componentsFixes available
Linux Linux kernel wlcore driver
Linux Linux kernel>=5.10.250<5.10.253
Linux Linux kernel>=5.15.200<5.15.203
Linux Linux kernel>=6.1.163<6.1.167
Linux Linux kernel>=6.6.124<6.6.130
Linux Linux kernel>=6.12.70<6.12.78
Linux Linux kernel>=6.18.10<6.18.20
Linux Linux kernel>=6.19.1<6.19.10
Linux Linux kernel=6.19
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5
Linux Linux kernel=7.0-rc6
Linux Linux kernel=7.0-rc7
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1

Event History

Apr 24, 2026
CVE Published
via MITRE·02:33 PM
Data Sourced
via MITRE·02:33 PM
DescriptionSeverity
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Apr 29, 2026
Data Sourced
via Microsoft·08:02 AM
DescriptionSeverityWeakness

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems using the Linux kernel wlcore Wi-Fi driver are affected. The issue occurs in the transmit path when the driver cannot allocate enough packet headroom.

2

What is the operational impact if the condition is triggered?

The transmit worker can repeatedly retry the same packet while holding a mutex, causing an infinite loop and a CPU soft lockup. The resolved behavior drops the packet when headroom allocation fails, allowing the loop to terminate.

3

How can I identify the relevant fix in stable kernel sources?

The provided stable references identify fixes at commits 12f9eef39e49716c763714bfda835a733d5f6dea, 46c670ff1ff466e5eccb3940f726586473dc053c, and 980f793645540ca7a6318165cc12f49d5febeb99.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203