CVE-2025-38604

wifi: rtl818x: Kill URBs before clearing tx status queue

State
Published
Severity
7.8 High
Published
Aug 19, 2025
Updated
Aug 5, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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: <IRQ> 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 </IRQ>

Tested on RTL8187BvE device.

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

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before e64732ebff9e24258e7326f07adbe2f2b990daf8Affected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before 789415771422f4fb9f444044f86ecfaec55df1bdAffected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before c73c773b09e313278f9b960303a2809b8440bac6Affected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before 8c767727f331fb9455b0f81daad832b5925688cbAffected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before 14ca6952691fa8cc91e7644512e6ff24a595283fAffected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before 7858a95566f4ebf59524666683d2dcdba3fca968Affected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before c51a45ad9070a6d296174fcbe5c466352836c12bAffected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before 81cfe34d0630de4e23ae804dcc08fb6f861dc37dAffected
  • c1db52b9d27ee6e15a7136e67e4a21dc916cd07f to before 16d8fd74dbfca0ea58645cd2fca13be10cae3cddAffected
LinuxLinux
  • 2.6.29Affected
  • before 2.6.29Not affected
  • 5.4.297 through 5.4.*Not affected
  • 5.10.241 through 5.10.*Not affected
  • 5.15.190 through 5.15.*Not affected
  • 6.1.148 through 6.1.*Not affected
  • 6.6.102 through 6.6.*Not affected
  • 6.12.42 through 6.12.*Not affected
  • 6.15.10 through 6.15.*Not affected
  • 6.16.1 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.