CVE-2024-56593 in Linux信息

摘要

由 VulDB • 2026-06-21

在 Linux 内核中,已修复以下漏洞:

wifi: brcmfmac: 修复 brcrf_sdiod_sglist_rw() 中因空指针解引用导致的 Oops 问题

此补丁修复了 brcmfmac 中的一个空指针解引用错误,该错误发生在较高的 'sd_sgentry_align' 值(例如 512)生效且大量排队 SKB 从 pkt 队列发送时。

问题在于预分配的 sgtable 中的条目数量,其计算公式为 nents = max(rxglom_size, txglom_size) + max(rxglom_size, txglom_size) >> 4 + 1。鉴于默认的 [rt]xglom_size=32,实际值为 35,这太小了。在最坏情况下,pkt 队列最终可能包含 64 个 SKB。当每个原始 SKB 都添加一个新的 SKB,且尾部空间不足以容纳 tail_pad 时,就会发生这种情况。每个 SKB 至少需要一个 sg 条目。因此,brcrf_sdiod_sglist_rw 中的 "skb_queue_walk 循环" 最终可能会耗尽 sg 条目。这会导致 sg_next 返回 NULL,从而引发 Oops。

该补丁将 nents 设置为 max(rxglom_size, txglom_size) * 2,以能够处理最坏情况。 顺便一提,这仅需要 64-35=29 * 16(如果 CONFIG_NEED_SG_DMA_LENGTH 则为 20)= 464 字节的额外内存。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

来源

Do you know our Splunk app?

Download it now for free!