CVE-2024-56593

MediumCVSS 5.5/10Last modified Jun 17, 2026

Description

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

wifi: brcmfmac: Fix oops due to NULL pointer dereference in brcmf_sdiod_sglist_rw()

This patch fixes a NULL pointer dereference bug in brcmfmac that occurs when a high 'sd_sgentry_align' value applies (e.g. 512) and a lot of queued SKBs are sent from the pkt queue.

The problem is the number of entries in the pre-allocated sgtable, it is nents = max(rxglom_size, txglom_size) + max(rxglom_size, txglom_size) >> 4 + 1. Given the default [rt]xglom_size=32 it's actually 35 which is too small. Worst case, the pkt queue can end up with 64 SKBs. This occurs when a new SKB is added for each original SKB if tailroom isn't enough to hold tail_pad. At least one sg entry is needed for each SKB. So, eventually the "skb_queue_walk loop" in brcmf_sdiod_sglist_rw may run out of sg entries. This makes sg_next return NULL and this causes the oops.

The patch sets nents to max(rxglom_size, txglom_size) * 2 to be able handle the worst-case. Btw. this requires only 64-35=29 * 16 (or 20 if CONFIG_NEED_SG_DMA_LENGTH) = 464 additional bytes of memory.

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < 342f87d263462c2670b77ea9a32074cab2ac6fa1; >= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < 7522d7d745d13fbeff3350fe6aa56c8dae263571; >= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < dfb3f9d3f602602de208da7bdcc0f6d5ee74af68; >= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < 67a25ea28f8ec1da8894f2f115d01d3becf67dc7; >= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < 07c020c6d14d29e5a3ea4e4576b8ecf956a80834; >= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < 34941321b516bd7c6103bd01287d71a1804d19d3; >= af1fa210f4fc6e304b859b386a3c8a266b1110ab, < 857282b819cbaa0675aaab1e7542e2c0579f52d7
LinuxLinux3.15

References

Timeline

Published
Dec 27, 2024
Last modified
Jun 17, 2026
NVD status
Modified

Related CVEs from 2024

CVE-2024-565945.5In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: set the right AMDGPU sg segment limitation The driver needCVE-2024-565957.8In the Linux kernel, the following vulnerability has been resolved: jfs: add a check to prevent array-index-out-of-bounds in dbAdjTree WheCVE-2024-565967.8In the Linux kernel, the following vulnerability has been resolved: jfs: fix array-index-out-of-bounds in jfs_readdir The stbl might contaCVE-2024-565977.1In the Linux kernel, the following vulnerability has been resolved: jfs: fix shift-out-of-bounds in dbSplit When dmt_budmin is less than zCVE-2024-565987.8In the Linux kernel, the following vulnerability has been resolved: jfs: array-index-out-of-bounds fix in dtReadFirst The value of stbl caCVE-2024-565995.5In the Linux kernel, the following vulnerability has been resolved: wifi: ath10k: avoid NULL pointer error during sdio remove When runningCVE-2024-56609.8Use of Hardware Page Aggregation (HPA) and Stage-1 and/or Stage-2 translation on Cortex-A77, Cortex-A78, Cortex-A78C, Cortex-A78AE, Cortex-ACVE-2024-566007.8In the Linux kernel, the following vulnerability has been resolved: net: inet6: do not leave a dangling sk pointer in inet6_create() sock_CVE-2024-566017.8In the Linux kernel, the following vulnerability has been resolved: net: inet: do not leave a dangling sk pointer in inet_create() sock_inCVE-2024-566027.8In the Linux kernel, the following vulnerability has been resolved: net: ieee802154: do not leave a dangling sk pointer in ieee802154_creatCVE-2024-566037.8In the Linux kernel, the following vulnerability has been resolved: net: af_can: do not leave a dangling sk pointer in can_create() On errCVE-2024-566047.8In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: avoid leaving dangling sk pointer in rfcomm_sock_all
CVE-2024-56593: Medium severity, CVSS 5.5 | Vulnix