0.0
NA
CVE-2026-64420
mfd: cros_ec: Delay dev_set_drvdata() until probe success
Description

In the Linux kernel, the following vulnerability has been resolved: mfd: cros_ec: Delay dev_set_drvdata() until probe success If ec_device_probe() fails, cros_ec_class_release releases memory for the cros_ec_dev structure. However, because the drvdata was already set, sub-drivers like cros_ec_typec can still retrieve the stale pointer via the platform device. This leads to a use-after-free when cros_ec_typec attempts to access &typec->ec->ec->dev on a device that has already been released. Move dev_set_drvdata() to ensure that the pointer is only made available once all initialization steps have succeeded. sysfs: cannot create duplicate filename '/class/chromeos/cros_ec' Call trace: sysfs_do_create_link_sd+0x94/0xdc sysfs_create_link+0x30/0x44 device_add_class_symlinks+0x90/0x13c device_add+0xf0/0x50c ec_device_probe+0x150/0x4f0 platform_probe+0xa0/0xe0 ... BUG: KASAN: invalid-access in __memcpy+0x44/0x230 Write at addr f5ffff809e2d33ac by task kworker/u32:5/125 Pointer tag: [f5], memory tag: [fe] Tainted : [W]=WARN, [O]=OOT_MODULE Hardware name: Google Navi unprovisioned 0x7FFFFFFF/sku0 board/sku3 Workqueue: events_unbound deferred_probe_work_func Call trace: __memcpy+0x44/0x230 cros_ec_check_features+0x60/0xcc [cros_ec_proto] cros_typec_probe+0xe8/0x6e0 [cros_ec_typec] platform_probe+0xa0/0xe0

INFO

Published Date :

July 25, 2026, 10:17 a.m.

Last Modified :

July 25, 2026, 10:17 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-64420 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

No affected product recoded yet

Solution
Fix a use-after-free bug by delaying device driver data setup until probe success.
  • Update the Linux kernel.
  • Apply the patch for MFD: cros_ec: Delay dev_set_drvdata().
  • Ensure probe success before setting driver data.
  • Move dev_set_drvdata() to after initialization.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-64420 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-64420 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-64420 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-64420 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jul. 25, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': '24522713034d521ea4b5f5f36342e2b2f7e73bd6', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': 'f7e81dc181d9fe8ab977158042cd193e8cc12091', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': '257203d83204b192d1265a916b42ca0d499bb117', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': '729ae27dc2503a7c1f92da1859efb45da03e4fa0', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': 'ed2941e5db016a0c600b25f1972620e6e223d9fa', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': 'b5f41d5bf08e7b1b14fa0bd640975e6d78dc006d', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': 'fc030c5b116f668d4ca86dca63742ddbc98d1665', 'versionType': 'git'}, {'status': 'affected', 'version': '1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b', 'lessThan': '8b2c1d41bc36c100b38ce5ee6def246c527eaf8a', 'versionType': 'git'}], 'programFiles': ['drivers/mfd/cros_ec_dev.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.12'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.12', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/mfd/cros_ec_dev.c'], 'defaultStatus': 'affected'}]
    Added Description In the Linux kernel, the following vulnerability has been resolved: mfd: cros_ec: Delay dev_set_drvdata() until probe success If ec_device_probe() fails, cros_ec_class_release releases memory for the cros_ec_dev structure. However, because the drvdata was already set, sub-drivers like cros_ec_typec can still retrieve the stale pointer via the platform device. This leads to a use-after-free when cros_ec_typec attempts to access &typec->ec->ec->dev on a device that has already been released. Move dev_set_drvdata() to ensure that the pointer is only made available once all initialization steps have succeeded. sysfs: cannot create duplicate filename '/class/chromeos/cros_ec' Call trace: sysfs_do_create_link_sd+0x94/0xdc sysfs_create_link+0x30/0x44 device_add_class_symlinks+0x90/0x13c device_add+0xf0/0x50c ec_device_probe+0x150/0x4f0 platform_probe+0xa0/0xe0 ... BUG: KASAN: invalid-access in __memcpy+0x44/0x230 Write at addr f5ffff809e2d33ac by task kworker/u32:5/125 Pointer tag: [f5], memory tag: [fe] Tainted : [W]=WARN, [O]=OOT_MODULE Hardware name: Google Navi unprovisioned 0x7FFFFFFF/sku0 board/sku3 Workqueue: events_unbound deferred_probe_work_func Call trace: __memcpy+0x44/0x230 cros_ec_check_features+0x60/0xcc [cros_ec_proto] cros_typec_probe+0xe8/0x6e0 [cros_ec_typec] platform_probe+0xa0/0xe0
    Added Reference https://git.kernel.org/stable/c/24522713034d521ea4b5f5f36342e2b2f7e73bd6
    Added Reference https://git.kernel.org/stable/c/257203d83204b192d1265a916b42ca0d499bb117
    Added Reference https://git.kernel.org/stable/c/729ae27dc2503a7c1f92da1859efb45da03e4fa0
    Added Reference https://git.kernel.org/stable/c/8b2c1d41bc36c100b38ce5ee6def246c527eaf8a
    Added Reference https://git.kernel.org/stable/c/b5f41d5bf08e7b1b14fa0bd640975e6d78dc006d
    Added Reference https://git.kernel.org/stable/c/ed2941e5db016a0c600b25f1972620e6e223d9fa
    Added Reference https://git.kernel.org/stable/c/f7e81dc181d9fe8ab977158042cd193e8cc12091
    Added Reference https://git.kernel.org/stable/c/fc030c5b116f668d4ca86dca63742ddbc98d1665
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.