CVE-2024-58096

CVE-2024-58096

High · published April 16, 2025

CVSS v3.1
8.8
EPSS
0%
Percentile
15.4
In the wild
Unconfirmed
What it is

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

wifi: ath11k: add srng->lock for ath11k_hal_srng_* in monitor mode

ath11k_hal_srng_* should be used with srng->lock to protect srng data.

For ath11k_dp_rx_mon_dest_process() and ath11k_dp_full_mon_process_rx(),

they use ath11k_hal_srng_* for many times but never call srng->lock.

So when running (full) monitor mode, warning will occur:

RIP: 0010:ath11k_hal_srng_dst_peek+0x18/0x30 [ath11k]

Call Trace:

? ath11k_hal_srng_dst_peek+0x18/0x30 [ath11k]

ath11k_dp_rx_process_mon_status+0xc45/0x1190 [ath11k]

? idr_alloc_u32+0x97/0xd0

ath11k_dp_rx_process_mon_rings+0x32a/0x550 [ath11k]

ath11k_dp_service_srng+0x289/0x5a0 [ath11k]

ath11k_pcic_ext_grp_napi_poll+0x30/0xd0 [ath11k]

__napi_poll+0x30/0x1f0

net_rx_action+0x198/0x320

__do_softirq+0xdd/0x319

So add srng->lock for them to avoid such warnings.

Inorder to fetch the srng->lock, should change srng's definition from

'void' to 'struct hal_srng'. And initialize them elsewhere to prevent

one line of code from being too long. This is consistent with other ring

process functions, such as ath11k_dp_process_rx().

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00250 · 15.4th percentile
Published
2025-04-16T19:15Z
Affected products (1)
ProductVersionsFixed in
linux/linux_kernel≥ 5.6, < 6.14.26.14.2
References (4)
EPSS history
Timeline
  • 16 APR 14:11Z
    wifi: ath11k: add srng->lock for ath11k_hal_srng_* in monitor mode
    cvelistv5