CVE-2025-38513

wifi: zd1211rw: Fix potential NULL pointer dereference in zd_mac_tx_to_dev()

published August 16, 2025

CVSS
—
EPSS
0%
Percentile
6.1
In the wild
Unconfirmed
What it is

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

wifi: zd1211rw: Fix potential NULL pointer dereference in zd_mac_tx_to_dev()

There is a potential NULL pointer dereference in zd_mac_tx_to_dev(). For

example, the following is possible:

T0 T1

zd_mac_tx_to_dev()

/* len == skb_queue_len(q) */

while (len > ZD_MAC_MAX_ACK_WAITERS) {

filter_ack()

spin_lock_irqsave(&q->lock, flags);

/* position == skb_queue_len(q) */

for (i=1; i<position; i++)

skb = __skb_dequeue(q)

if (mac->type == NL80211_IFTYPE_AP)

skb = __skb_dequeue(q);

spin_unlock_irqrestore(&q->lock, flags);

skb_dequeue() -> NULL

Since there is a small gap between checking skb queue length and skb being

unconditionally dequeued in zd_mac_tx_to_dev(), skb_dequeue() can return NULL.

Then the pointer is passed to zd_mac_tx_status() where it is dereferenced.

In order to avoid potential NULL pointer dereference due to situations like

above, check if skb is not NULL before passing it to zd_mac_tx_status().

Found by Linux Verification Center (linuxtesting.org) with SVACE.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00170 · 6.1th percentile
Published
2025-08-16T10:55Z
EPSS history
Timeline
  • 16 AUG 10:55Z
    wifi: zd1211rw: Fix potential NULL pointer dereference in zd_mac_tx_to_dev()
    cvelistv5