CVE-2025-38604
published 2025-08-19CVE-2025-38604: In the Linux kernel, the following vulnerability has been resolved: wifi: rtl818x: Kill URBs before clearing tx status queue In rtl8187_stop() move the call of…
medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
In the Linux kernel, the following vulnerability has been resolved:
wifi: rtl818x: Kill URBs before clearing tx status queue
In rtl8187_stop() move the call of usb_kill_anchored_urbs() before clearing
b_tx_status.queue. This change prevents callbacks from using already freed
skb due to anchor was not killed before freeing such skb.
BUG: kernel NULL pointer dereference, address: 0000000000000080
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 7 UID: 0 PID: 0 Comm: swapper/7 Not tainted 6.15.0 #8 PREEMPT(voluntary)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015
RIP: 0010:ieee80211_tx_status_irqsafe+0x21/0xc0 [mac80211]
Call Trace:
rtl8187_tx_cb+0x116/0x150 [rtl8187]
__usb_hcd_giveback_urb+0x9d/0x120
usb_giveback_urb_bh+0xbb/0x140
process_one_work+0x19b/0x3c0
bh_worker+0x1a7/0x210
tasklet_action+0x10/0x30
handle_softirqs+0xf0/0x340
__irq_exit_rcu+0xcd/0xf0
common_interrupt+0x85/0xa0
Tested on RTL8187BvE device.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Affected
41 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | linux | < linux 6.1.148-1 (bookworm) | linux 6.1.148-1 (bookworm) |
| debian | linux-6.1 | < linux 6.1.148-1 (bookworm) | linux 6.1.148-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < e64732ebff9e24258e7326f07adbe2f2b990daf8 | e64732ebff9e24258e7326f07adbe2f2b990daf8 |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < 789415771422f4fb9f444044f86ecfaec55df1bd | 789415771422f4fb9f444044f86ecfaec55df1bd |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < c73c773b09e313278f9b960303a2809b8440bac6 | c73c773b09e313278f9b960303a2809b8440bac6 |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < 8c767727f331fb9455b0f81daad832b5925688cb | 8c767727f331fb9455b0f81daad832b5925688cb |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < 14ca6952691fa8cc91e7644512e6ff24a595283f | 14ca6952691fa8cc91e7644512e6ff24a595283f |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < 7858a95566f4ebf59524666683d2dcdba3fca968 | 7858a95566f4ebf59524666683d2dcdba3fca968 |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < c51a45ad9070a6d296174fcbe5c466352836c12b | c51a45ad9070a6d296174fcbe5c466352836c12b |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < 81cfe34d0630de4e23ae804dcc08fb6f861dc37d | 81cfe34d0630de4e23ae804dcc08fb6f861dc37d |
| linux | linux | >= c1db52b9d27ee6e15a7136e67e4a21dc916cd07f < 16d8fd74dbfca0ea58645cd2fca13be10cae3cdd | 16d8fd74dbfca0ea58645cd2fca13be10cae3cdd |
| linux | linux_kernel | >= 0 < 5.10.244-1 | 5.10.244-1 |
| linux | linux_kernel | >= 0 < 6.1.148-1 | 6.1.148-1 |
| linux | linux_kernel | >= 0 < 6.12.43-1 | 6.12.43-1 |
| linux | linux_kernel | >= 0 < 6.16.3-1 | 6.16.3-1 |
| linux | linux_kernel | >= 0 < 5.15.0-163.173 | 5.15.0-163.173 |
| linux | linux_kernel | >= 0 < 6.8.0-100.100 | 6.8.0-100.100 |
| linux | linux_kernel | >= 2.6.29 < 5.4.297 | 5.4.297 |
| linux | linux_kernel | >= 5.11 < 5.15.190 | 5.15.190 |
| linux | linux_kernel | >= 5.16 < 6.1.148 | 6.1.148 |
| linux | linux_kernel | >= 5.5 < 5.10.241 | 5.10.241 |
| linux | linux_kernel | >= 6.13 < 6.15.10 | 6.15.10 |
| linux | linux_kernel | >= 6.16 < 6.16.1 | 6.16.1 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM