In the Linux kernel, the following vulnerability has been resolved:
wifi: rtl818x: Kill URBs before clearing tx status queue
In rtl8187stop() move the call of usbkillanchoredurbs() before clearing btxstatus.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: errorcode(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:ieee80211txstatusirqsafe+0x21/0xc0 [mac80211] Call Trace: <IRQ> rtl8187txcb+0x116/0x150 [rtl8187] _usbhcdgivebackurb+0x9d/0x120 usbgivebackurbbh+0xbb/0x140 processonework+0x19b/0x3c0 bhworker+0x1a7/0x210 taskletaction+0x10/0x30 handlesoftirqs+0xf0/0x340 _irqexitrcu+0xcd/0xf0 commoninterrupt+0x85/0xa0 </IRQ>
Tested on RTL8187BvE device.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
[ { "deprecated": false, "digest": { "length": 897.0, "function_hash": "150857793502682253073817049309256770235" }, "signature_type": "Function", "id": "CVE-2025-38604-2e1f262d", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c51a45ad9070a6d296174fcbe5c466352836c12b", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 897.0, "function_hash": "150857793502682253073817049309256770235" }, "signature_type": "Function", "id": "CVE-2025-38604-46102531", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7858a95566f4ebf59524666683d2dcdba3fca968", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 883.0, "function_hash": "151857216445252657012646007929805607102" }, "signature_type": "Function", "id": "CVE-2025-38604-48970cc3", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c73c773b09e313278f9b960303a2809b8440bac6", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-6117355f", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e64732ebff9e24258e7326f07adbe2f2b990daf8", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-69b511fa", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c767727f331fb9455b0f81daad832b5925688cb", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-717856ce", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c73c773b09e313278f9b960303a2809b8440bac6", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 883.0, "function_hash": "151857216445252657012646007929805607102" }, "signature_type": "Function", "id": "CVE-2025-38604-74d4cd47", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@789415771422f4fb9f444044f86ecfaec55df1bd", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 897.0, "function_hash": "150857793502682253073817049309256770235" }, "signature_type": "Function", "id": "CVE-2025-38604-75e7bc62", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16d8fd74dbfca0ea58645cd2fca13be10cae3cdd", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-7a7a66ef", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c51a45ad9070a6d296174fcbe5c466352836c12b", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 883.0, "function_hash": "151857216445252657012646007929805607102" }, "signature_type": "Function", "id": "CVE-2025-38604-89e7a03b", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8c767727f331fb9455b0f81daad832b5925688cb", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 897.0, "function_hash": "150857793502682253073817049309256770235" }, "signature_type": "Function", "id": "CVE-2025-38604-91bb1953", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@81cfe34d0630de4e23ae804dcc08fb6f861dc37d", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-b3fbfa39", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16d8fd74dbfca0ea58645cd2fca13be10cae3cdd", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-be49c81c", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@81cfe34d0630de4e23ae804dcc08fb6f861dc37d", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-c9644a0b", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7858a95566f4ebf59524666683d2dcdba3fca968", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-d5854fa8", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@789415771422f4fb9f444044f86ecfaec55df1bd", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 883.0, "function_hash": "151857216445252657012646007929805607102" }, "signature_type": "Function", "id": "CVE-2025-38604-d5fabc20", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e64732ebff9e24258e7326f07adbe2f2b990daf8", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "length": 883.0, "function_hash": "151857216445252657012646007929805607102" }, "signature_type": "Function", "id": "CVE-2025-38604-e95adfa6", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14ca6952691fa8cc91e7644512e6ff24a595283f", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c", "function": "rtl8187_stop" }, "signature_version": "v1" }, { "deprecated": false, "digest": { "line_hashes": [ "162625417697408219237559360184888862069", "104233323935415273271905303395950695454", "94779408704921024320997715781592748134", "20340130274576942888109568078990936671", "5550925579516937331667541463834261714", "3381672750579060043257745698784395527" ], "threshold": 0.9 }, "signature_type": "Line", "id": "CVE-2025-38604-ea628fc8", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14ca6952691fa8cc91e7644512e6ff24a595283f", "target": { "file": "drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c" }, "signature_version": "v1" } ]