Linux: Improper Resource Shutdown or Release
CVE-2025-38385 is a high-severity improper resource shutdown or release vulnerability in Linux, with a CVSS 3.1 base score of 7.8 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions 7135056a49035597198280820c61b8c5dbe4a1d0, 968a419c95131e420f12bbdba19e96e2f6b071c4, 510a6095d754df9d727f644ec5076b7929d6c9ea as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.2% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to 7135056a49035597198280820c61b8c5dbe4a1d0 or 968a419c95131e420f12bbdba19e96e2f6b071c4 or 510a6095d754df9d727f644ec5076b7929d6c9ea or 17a37b9a5dd945d86110838fb471e7139ba993a2, whichever matches your release line, or a later version.
- Update Linux Kernel to 6.1.144 or 6.6.97 or 6.12.37 or 6.15.6, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | ec4c7e12396b1a30fbacfa68425118f5b46ea878 up to, but not including, 7135056a49035597198280820c61b8c5dbe4a1d0; ec4c7e12396b1a30fbacfa68425118f5b46ea878 up to, but not including, 968a419c95131e420f12bbdba19e96e2f6b071c4; ec4c7e12396b1a30fbacfa68425118f5b46ea878 up to, but not including, 510a6095d754df9d727f644ec5076b7929d6c9ea; ec4c7e12396b1a30fbacfa68425118f5b46ea878 up to, but not including, 17a37b9a5dd945d86110838fb471e7139ba993a2; ec4c7e12396b1a30fbacfa68425118f5b46ea878 up to, but not including, 6c7ffc9af7186ed79403a3ffee9a1e5199fc7450; 5.17 | 7135056a49035597198280820c61b8c5dbe4a1d0, 968a419c95131e420f12bbdba19e96e2f6b071c4, 510a6095d754df9d727f644ec5076b7929d6c9ea, 17a37b9a5dd945d86110838fb471e7139ba993a2, 6c7ffc9af7186ed79403a3ffee9a1e5199fc7450 |
| Linux | Linux Kernel | 5.17 up to, but not including, 6.1.144; 6.2 up to, but not including, 6.6.97; 6.7 up to, but not including, 6.12.37; 6.13 up to, but not including, 6.15.6; 6.16 | 6.1.144, 6.6.97, 6.12.37, 6.15.6 |
| Debian | Debian Linux | 11.0 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.
Official description
In the Linux kernel, the following vulnerability has been resolved: net: usb: lan78xx: fix WARN in __netif_napi_del_locked on disconnect Remove redundant netif_napi_del() call from disconnect path. A WARN may be triggered in __netif_napi_del_locked() during USB device disconnect: WARNING: CPU: 0 PID: 11 at net/core/dev.c:7417 __netif_napi_del_locked+0x2b4/0x350 This happens because netif_napi_del() is called in the disconnect path while NAPI is still enabled. However, it is not necessary to call netif_napi_del() explicitly, since unregister_netdev() will handle NAPI teardown automatically and safely. Removing the redundant call avoids triggering the warning. Full trace: lan78xx 1-1:1.0 enu1: Failed to read register index 0x000000c4. ret = -ENODEV lan78xx 1-1:1.0 enu1: Failed to set MAC down with error -ENODEV lan78xx 1-1:1.0 enu1: Link is Down lan78xx 1-1:1.0 enu1: Failed to read register index 0x00000120. ret = -ENODEV ------------[ cut here ]------------ WARNING: CPU: 0 PID: 11 at net/core/dev.c:7417 __netif_napi_del_locked+0x2b4/0x350 Modules linked in: flexcan can_dev fuse CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.16.0-rc2-00624-ge926949dab03 #9 PREEMPT Hardware name: SKOV IMX8MP CPU revC - bd500 (DT) Workqueue: usb_hub_wq hub_event pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __netif_napi_del_locked+0x2b4/0x350 lr : __netif_napi_del_locked+0x7c/0x350 sp : ffffffc085b673c0 x29: ffffffc085b673c0 x28: ffffff800b7f2000 x27: ffffff800b7f20d8 x26: ffffff80110bcf58 x25: ffffff80110bd978 x24: 1ffffff0022179eb x23: ffffff80110bc000 x22: ffffff800b7f5000 x21: ffffff80110bc000 x20: ffffff80110bcf38 x19: ffffff80110bcf28 x18: dfffffc000000000 x17: ffffffc081578940 x16: ffffffc08284cee0 x15: 0000000000000028 x14: 0000000000000006 x13: 0000000000040000 x12: ffffffb0022179e8 x11: 1ffffff0022179e7 x10: ffffffb0022179e7 x9 : dfffffc000000000 x8 : 0000004ffdde8619 x7 : ffffff80110bcf3f x6 : 0000000000000001 x5 : ffffff80110bcf38 x4 : ffffff80110bcf38 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 1ffffff0022179e7 x0 : 0000000000000000 Call trace: __netif_napi_del_locked+0x2b4/0x350 (P) lan78xx_disconnect+0xf4/0x360 usb_unbind_interface+0x158/0x718 device_remove+0x100/0x150 device_release_driver_internal+0x308/0x478 device_release_driver+0x1c/0x30 bus_remove_device+0x1a8/0x368 device_del+0x2e0/0x7b0 usb_disable_device+0x244/0x540 usb_disconnect+0x220/0x758 hub_event+0x105c/0x35e0 process_one_work+0x760/0x17b0 worker_thread+0x768/0xce8 kthread+0x3bc/0x690 ret_from_fork+0x10/0x20 irq event stamp: 211604 hardirqs last enabled at (211603): [<ffffffc0828cc9ec>] _raw_spin_unlock_irqrestore+0x84/0x98 hardirqs last disabled at (211604): [<ffffffc0828a9a84>] el1_dbg+0x24/0x80 softirqs last enabled at (211296): [<ffffffc080095f10>] handle_softirqs+0x820/0xbc8 softirqs last disabled at (210993): [<ffffffc080010288>] __do_softirq+0x18/0x20 ---[ end trace 0000000000000000 ]--- lan78xx 1-1:1.0 enu1: failed to kill vid 0081/0
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Resource Shutdown or Release
The product does not release or incorrectly releases a resource before it is made available for re-use.
How developers prevent this class of flaw
- Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.
- It is good practice to be responsible for freeing all resources you allocate and to be consistent with how and where you free memory in a function. If you allocate memory that you intend to free upon completion of the function, you must be sure to free the memory at all exit points for that function including error conditions.
- Memory should be allocated/freed using matching functions such as malloc/free, new/delete, and new[]/delete[].
More Improper Resource Shutdown or Release vulnerabilities (CWE-404)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- git.kernel.org/stable/c/17a37b9a5dd945d86110838fb471e7139ba993a2
- git.kernel.org/stable/c/510a6095d754df9d727f644ec5076b7929d6c9ea
- git.kernel.org/stable/c/6c7ffc9af7186ed79403a3ffee9a1e5199fc7450
- git.kernel.org/stable/c/7135056a49035597198280820c61b8c5dbe4a1d0
- git.kernel.org/stable/c/968a419c95131e420f12bbdba19e96e2f6b071c4
Third-party and government advisories
- lists.debian.org/debian-lts-announce/2025/10/msg00008.htmlThird Party Advisory
Recent Improper Resource Shutdown or Release vulnerabilities
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 7.2 High severity
Spotted an error? Tell us.