CVE-2025-39711: media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls
In the Linux kernel, the following vulnerability has been resolved:
media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls
Both the ACE and CSI driver are missing a mei_cldev_disable() call in
their remove() function.
This causes the mei_cl client to stay part of the mei_device->file_list
list even though its memory is freed by mei_cl_bus_dev_release() calling
kfree(cldev->cl).
This leads to a use-after-free when mei_vsc_remove() runs mei_stop()
which first removes all mei bus devices calling mei_ace_remove() and
mei_csi_remove() followed by mei_cl_bus_dev_release() and then calls
mei_cl_all_disconnect() which walks over mei_device->file_list dereferecing
the just freed cldev->cl.
And mei_vsc_remove() it self is run at shutdown because of the
platform_device_unregister(tp->pdev) in vsc_tp_shutdown()
When building a kernel with KASAN this leads to the following KASAN report:
[ 106.634504] ==================================================================
[ 106.634623] BUG: KASAN: slab-use-after-free in mei_cl_set_disconnected (drivers/misc/mei/client.c:783) mei
[ 106.634683] Read of size 4 at addr ffff88819cb62018 by task systemd-shutdow/1
[ 106.634729]
[ 106.634767] Tainted: [E]=UNSIGNED_MODULE
[ 106.634770] Hardware name: Dell Inc. XPS 16 9640/09CK4V, BIOS 1.12.0 02/10/2025
[ 106.634773] Call Trace:
[ 106.634777] <TASK>
...
[ 106.634871] kasan_report (mm/kasan/report.c:221 mm/kasan/report.c:636)
[ 106.634901] mei_cl_set_disconnected (drivers/misc/mei/client.c:783) mei
[ 106.634921] mei_cl_all_disconnect (drivers/misc/mei/client.c:2165 (discriminator 4)) mei
[ 106.634941] mei_reset (drivers/misc/mei/init.c:163) mei
...
[ 106.635042] mei_stop (drivers/misc/mei/init.c:348) mei
[ 106.635062] mei_vsc_remove (drivers/misc/mei/mei_dev.h:784 drivers/misc/mei/platform-vsc.c:393) mei_vsc
[ 106.635066] platform_remove (drivers/base/platform.c:1424)
Add the missing mei_cldev_disable() calls so that the mei_cl gets removed
from mei_device->file_list before it is freed to fix this.
Security readout for executives and security teams
Plain-English summary
A Linux media-driver cleanup flaw can access freed memory during system shutdown, causing a kernel crash. The documented failure occurs when Intel VSC-related ACE and CSI clients are removed incorrectly. Impact is therefore most relevant to systems using the affected driver path, not every Linux installation.
Executive priority
Treat this as a high-priority stability and kernel-memory-safety issue for systems using the affected driver path. Patch those systems promptly through supported distribution channels. Broad emergency action across all Linux assets is not justified by the supplied evidence; first identify driver exposure and vendor backports.
Technical view
The IVSC ACE and CSI remove functions omit mei_cldev_disable(). Their MEI clients remain on mei_device->file_list after mei_cl_bus_dev_release() frees client memory. During mei_vsc_remove(), mei_stop() calls mei_cl_all_disconnect(), which traverses that list and dereferences freed memory. KASAN confirmed a slab use-after-free in mei_cl_set_disconnected during shutdown. The fix disables each client before freeing it.
Likely exposure
The record identifies affected Linux kernel versions including 6.6, 6.6.103, 6.12.44, 6.16.4, and 6.17. Practical exposure depends on whether the affected IVSC, ACE, CSI, and MEI VSC driver path is present and used. Distribution kernel versioning may differ, so package-to-fix mapping requires vendor confirmation.
Exploitation context
The supplied record has a CVSS 3.1 score of 7.8 with local access and low privileges. No cited source reports active exploitation, and the CVE is not marked KEV. The evidence demonstrates a shutdown-time kernel crash under KASAN; it does not establish a working privilege-escalation or arbitrary-code-execution exploit.
Researcher notes
The failure sequence is well documented, including the freed client remaining on file_list and later dereference by mei_cl_all_disconnect(). Four stable-kernel commits are referenced. The bundle does not clearly map every commit to each listed kernel version or document exploitation beyond a KASAN-detected shutdown crash, so downstream backport status must be verified separately.
Mitigation direction
Apply a vendor-supported kernel containing the referenced stable fix for the deployed kernel branch.
Prioritize systems that load or use the affected IVSC, ACE, CSI, and MEI VSC components.
If updates are unavailable, consult the Linux distribution vendor for supported interim guidance.
Schedule controlled reboots after updating and retain prior kernels according to recovery procedures.
Validation and detection
Inventory running kernel and distribution package versions on potentially affected systems.
Confirm whether deployed kernel sources contain the referenced mei_cldev_disable() changes.
Check whether the relevant IVSC and MEI VSC driver components are present or active.
Review shutdown and kernel logs for KASAN use-after-free reports or crashes in the named MEI functions.
Perform controlled shutdown testing on representative updated hardware and confirm clean completion.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-39711 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
5Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.