{"id":"CVE-2026-64420","title":"mfd: cros_ec: Delay dev_set_drvdata() until probe success","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nmfd: cros_ec: Delay dev_set_drvdata() until probe success\n\nIf ec_device_probe() fails, cros_ec_class_release releases memory for the\ncros_ec_dev structure. However, bec…","severity":"high","cvss":7,"cvssVector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 24522713034d521ea4b5f5f36342e2b2f7e73bd6","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < f7e81dc181d9fe8ab977158042cd193e8cc12091","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 257203d83204b192d1265a916b42ca0d499bb117","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 729ae27dc2503a7c1f92da1859efb45da03e4fa0","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < ed2941e5db016a0c600b25f1972620e6e223d9fa","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < b5f41d5bf08e7b1b14fa0bd640975e6d78dc006d","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < fc030c5b116f668d4ca86dca63742ddbc98d1665","Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 8b2c1d41bc36c100b38ce5ee6def246c527eaf8a","Linux 4.12"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T15:40:26.658329Z"},"published":"2026-07-25","updated":"2026-10-16","sourceUpdated":"2026-10-16T15:42:34.813Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-64420","references":[{"url":"https://git.kernel.org/stable/c/24522713034d521ea4b5f5f36342e2b2f7e73bd6"},{"url":"https://git.kernel.org/stable/c/f7e81dc181d9fe8ab977158042cd193e8cc12091"},{"url":"https://git.kernel.org/stable/c/257203d83204b192d1265a916b42ca0d499bb117"},{"url":"https://git.kernel.org/stable/c/729ae27dc2503a7c1f92da1859efb45da03e4fa0"},{"url":"https://git.kernel.org/stable/c/ed2941e5db016a0c600b25f1972620e6e223d9fa"},{"url":"https://git.kernel.org/stable/c/b5f41d5bf08e7b1b14fa0bd640975e6d78dc006d"},{"url":"https://git.kernel.org/stable/c/fc030c5b116f668d4ca86dca63742ddbc98d1665"},{"url":"https://git.kernel.org/stable/c/8b2c1d41bc36c100b38ce5ee6def246c527eaf8a"}],"tags":["cve.org"],"epss":0.00118,"epssPercentile":0.01612,"ingestedAt":"2026-10-16T17:24:46.818Z","slug":"CVE-2026-64420","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nmfd: cros_ec: Delay dev_set_drvdata() until probe success\n\nIf ec_device_probe() fails, cros_ec_class_release releases memory for the\ncros_ec_dev structure. However, because the drvdata was already set,\nsub-drivers like cros_ec_typec can still retrieve the stale pointer via the\nplatform device. This leads to a use-after-free when cros_ec_typec attempts\nto access &typec->ec->ec->dev on a device that has already been released.\nMove dev_set_drvdata() to ensure that the pointer is only made available\nonce all initialization steps have succeeded.\n\n sysfs: cannot create duplicate filename '/class/chromeos/cros_ec'\n Call trace:\n  sysfs_do_create_link_sd+0x94/0xdc\n  sysfs_create_link+0x30/0x44\n  device_add_class_symlinks+0x90/0x13c\n  device_add+0xf0/0x50c\n  ec_device_probe+0x150/0x4f0\n  platform_probe+0xa0/0xe0\n ...\n BUG: KASAN: invalid-access in __memcpy+0x44/0x230\n Write at addr f5ffff809e2d33ac by task kworker/u32:5/125\n Pointer tag: [f5], memory tag: [fe]\n Tainted : [W]=WARN, [O]=OOT_MODULE\n Hardware name: Google Navi unprovisioned 0x7FFFFFFF/sku0 board/sku3\n Workqueue: events_unbound deferred_probe_work_func\n Call trace:\n  __memcpy+0x44/0x230\n  cros_ec_check_features+0x60/0xcc [cros_ec_proto]\n  cros_typec_probe+0xe8/0x6e0 [cros_ec_typec]\n  platform_probe+0xa0/0xe0\n\n## Affected\n\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 24522713034d521ea4b5f5f36342e2b2f7e73bd6`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < f7e81dc181d9fe8ab977158042cd193e8cc12091`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 257203d83204b192d1265a916b42ca0d499bb117`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 729ae27dc2503a7c1f92da1859efb45da03e4fa0`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < ed2941e5db016a0c600b25f1972620e6e223d9fa`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < b5f41d5bf08e7b1b14fa0bd640975e6d78dc006d`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < fc030c5b116f668d4ca86dca63742ddbc98d1665`\n- `Linux >= 1c1d152cc5ac3a67d199728a9ba0b4f54a498f8b < 8b2c1d41bc36c100b38ce5ee6def246c527eaf8a`\n- `Linux 4.12`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":39,"depthScoreParts":{"impact":38.5,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}