Zero Day MonitorZDM
DashboardVulnerabilitiesTrendingZero-DaysNewsAbout
Login
ImpressumPrivacy Policy
Zero Day Monitor © 2026
2396 articles · 130508 vulns · 35/41 feeds (7d)
← Back to list
7.5
CVE-2026-31552PATCHED
linux · linux_kernel

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

Description

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 skb_push"), wl1271_tx_allocate() and with it wl1271_prepare_tx_frame() returns -EAGAIN if pskb_expand_head() fails. However, in wlcore_tx_work_locked(), a return value of -EAGAIN from wl1271_prepare_tx_frame() 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 wlcore_tx_work_locked() holds wl->mutex, and the retry happens immediately with GFP_ATOMIC, 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 Products

VendorProductVersions
linuxlinux_kernel88295a55fefe5414e64293638b6f7549646e58ed, cd89a4656c03f8db0c57350aaec69cd3cfaa3522, 745a0810dbc96a0471e5f5e627ba1e978c3116d4, b167312390fdd461c81ead516f2b0b44e83a9edb, 71de0b6e04bbee5575caf9a1e4d424e7dcc50018, 689a7980e4788e13e766763d53569fb78dea2513, e75665dd096819b1184087ba5718bd93beafff51, e75665dd096819b1184087ba5718bd93beafff51, 6.19

Also Affects

Downstream vendors/products affected by this vulnerability

VendorProductSourceConfidence
linuxlinuxmitre_affected90%

References

  • https://git.kernel.org/stable/c/980f793645540ca7a6318165cc12f49d5febeb99
  • https://git.kernel.org/stable/c/12f9eef39e49716c763714bfda835a733d5f6dea
  • https://git.kernel.org/stable/c/ceb46b40b021d21911ff8608ce4ed33c1264ad2f
  • https://git.kernel.org/stable/c/a6dc74209462c4fe5a88718d2f3a5286886081c8
  • https://git.kernel.org/stable/c/cfa64e2b3717be1da7c4c1aff7268a009e8c1610
  • https://git.kernel.org/stable/c/46c670ff1ff466e5eccb3940f726586473dc053c
  • https://git.kernel.org/stable/c/f2c06d718a7b85cbc59ceaa2ff3f46b178ac709c
  • https://git.kernel.org/stable/c/deb353d9bb009638b7762cae2d0b6e8fdbb41a69

Related News (3 articles)

Tier A
Microsoft MSRC20h ago
CVE-2026-31552 wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom
→ No new info (linked only)
Tier C
VulDB5d ago
CVE-2026-31552 | Linux Kernel up to 6.19.9 wifi wl1271_tx_allocate infinite loop
→ No new info (linked only)
Tier C
Linux Kernel CVEs5d ago
CVE-2026-31552: wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom
→ No new info (linked only)
CVSS 3.17.5 HIGH
VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CISA KEV❌ No
Actively exploited❌ No
Patch available
980f793645540ca7a6318165cc12f49d5febeb9912f9eef39e49716c763714bfda835a733d5f6deaceb46b40b021d21911ff8608ce4ed33c1264ad2fa6dc74209462c4fe5a88718d2f3a5286886081c8cfa64e2b3717be1da7c4c1aff7268a009e8c161046c670ff1ff466e5eccb3940f726586473dc053cf2c06d718a7b85cbc59ceaa2ff3f46b178ac709cdeb353d9bb009638b7762cae2d0b6e8fdbb41a6905.10.2535.15.2036.1.1676.6.1306.12.786.18.206.19.107.0
PublishedApr 24, 2026
Last enriched5d agov2
Trending Score39
Source articles3
Independent3
Info Completeness7/14
Missing: cvss, epss, cwe, kev, exploit, iocs, mitre_attack

Community Vote

0
Login to vote
0 upvotes0 downvotes
No votes yet

Related CVEs (5)

HIGHCVE-2026-31431EXP
crypto: algif_aead - Revert to operating out-of-place
Trending: 83
CRITICALCVE-2026-31549EXP
i2c: cp2615: fix serial string NULL-deref at probe
Trending: 59
CRITICALCVE-2026-31661EXP
wifi: brcmsmac: Fix dma_free_coherent() size
Trending: 59
CRITICALCVE-2026-31689
EDAC/mc: Fix error path ordering in edac_mc_alloc()
Trending: 46
HIGHCVE-2026-23400EXP
rust_binder: call set_notification_done() without proc lock
Trending: 42

Pin to Dashboard

Verification

State: verified
Confidence: 0%

Vulnerability Timeline

CVE Published
Apr 24, 2026
Discovered by ZDM
Apr 24, 2026
Updated: affectedVersions
Apr 24, 2026
Patch Available
Apr 27, 2026

Version History

v2
Last enriched 5d ago
v2Tier C5d ago

Updated description with new details, changed severity to CRITICAL, added affected version 6.19.9, and noted that no exploit is available.

affectedVersions
via VulDB
v15d ago

Initial creation