{"api_version":"1","generated_at":"2026-07-20T14:43:28+00:00","cve":"CVE-2026-64120","urls":{"html":"https://cve.report/CVE-2026-64120","api":"https://cve.report/api/cve/CVE-2026-64120.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64120","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64120"},"summary":{"title":"net: ethtool: fix NULL pointer dereference in phy_reply_size","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethtool: fix NULL pointer dereference in phy_reply_size\n\nIn phy_prepare_data(), several strings such as 'name', 'drvname',\n'upstream_sfp_name', and 'downstream_sfp_name' are allocated using\nkstrdup(). However, these allocations were not checked  for failure.\n\nIf kstrdup() fails for 'name', it returns NULL while the function\ncontinues. This leads to a kernel NULL pointer dereference and panic\nlater in phy_reply_size() when it unconditionally calls strlen() on\nthe NULL pointer.\n\nWhile other strings like 'upstream_sfp_name' might be checked before\naccess in certain code paths, failing to handle these allocations\nconsistently can lead to incomplete data reporting or hidden bugs.\n\nFix this by adding proper NULL checks for all kstrdup() calls in\nphy_prepare_data() and implement a centralized error handling path\nusing goto labels to ensure all previously allocated resources are\nfreed on failure.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-19 16:17:53","updated_at":"2026-07-19 16:17:53"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/61f53c1e58d68723bc1db10912a53f1991f08719","name":"https://git.kernel.org/stable/c/61f53c1e58d68723bc1db10912a53f1991f08719","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3dbe20a3809347bacda890822e7ca013bd85a18c","name":"https://git.kernel.org/stable/c/3dbe20a3809347bacda890822e7ca013bd85a18c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/4908f1395fb1b832ceec11584af649874a2732ea","name":"https://git.kernel.org/stable/c/4908f1395fb1b832ceec11584af649874a2732ea","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64120","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64120","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 9dd2ad5e92b962d1349a7541d167e8e214e49f95 61f53c1e58d68723bc1db10912a53f1991f08719 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 9dd2ad5e92b962d1349a7541d167e8e214e49f95 3dbe20a3809347bacda890822e7ca013bd85a18c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 9dd2ad5e92b962d1349a7541d167e8e214e49f95 4908f1395fb1b832ceec11584af649874a2732ea git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.34 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.11 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/ethtool/phy.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"61f53c1e58d68723bc1db10912a53f1991f08719","status":"affected","version":"9dd2ad5e92b962d1349a7541d167e8e214e49f95","versionType":"git"},{"lessThan":"3dbe20a3809347bacda890822e7ca013bd85a18c","status":"affected","version":"9dd2ad5e92b962d1349a7541d167e8e214e49f95","versionType":"git"},{"lessThan":"4908f1395fb1b832ceec11584af649874a2732ea","status":"affected","version":"9dd2ad5e92b962d1349a7541d167e8e214e49f95","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/ethtool/phy.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.16"},{"lessThan":"6.16","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.34","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.34","versionStartIncluding":"6.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.11","versionStartIncluding":"6.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"6.16","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethtool: fix NULL pointer dereference in phy_reply_size\n\nIn phy_prepare_data(), several strings such as 'name', 'drvname',\n'upstream_sfp_name', and 'downstream_sfp_name' are allocated using\nkstrdup(). However, these allocations were not checked  for failure.\n\nIf kstrdup() fails for 'name', it returns NULL while the function\ncontinues. This leads to a kernel NULL pointer dereference and panic\nlater in phy_reply_size() when it unconditionally calls strlen() on\nthe NULL pointer.\n\nWhile other strings like 'upstream_sfp_name' might be checked before\naccess in certain code paths, failing to handle these allocations\nconsistently can lead to incomplete data reporting or hidden bugs.\n\nFix this by adding proper NULL checks for all kstrdup() calls in\nphy_prepare_data() and implement a centralized error handling path\nusing goto labels to ensure all previously allocated resources are\nfreed on failure."}],"providerMetadata":{"dateUpdated":"2026-07-19T15:40:19.044Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/61f53c1e58d68723bc1db10912a53f1991f08719"},{"url":"https://git.kernel.org/stable/c/3dbe20a3809347bacda890822e7ca013bd85a18c"},{"url":"https://git.kernel.org/stable/c/4908f1395fb1b832ceec11584af649874a2732ea"}],"title":"net: ethtool: fix NULL pointer dereference in phy_reply_size","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64120","datePublished":"2026-07-19T15:40:19.044Z","dateReserved":"2026-07-19T07:54:57.036Z","dateUpdated":"2026-07-19T15:40:19.044Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-19 16:17:53","lastModifiedDate":"2026-07-19 16:17:53","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64120","Ordinal":"1","Title":"net: ethtool: fix NULL pointer dereference in phy_reply_size","CVE":"CVE-2026-64120","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64120","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethtool: fix NULL pointer dereference in phy_reply_size\n\nIn phy_prepare_data(), several strings such as 'name', 'drvname',\n'upstream_sfp_name', and 'downstream_sfp_name' are allocated using\nkstrdup(). However, these allocations were not checked  for failure.\n\nIf kstrdup() fails for 'name', it returns NULL while the function\ncontinues. This leads to a kernel NULL pointer dereference and panic\nlater in phy_reply_size() when it unconditionally calls strlen() on\nthe NULL pointer.\n\nWhile other strings like 'upstream_sfp_name' might be checked before\naccess in certain code paths, failing to handle these allocations\nconsistently can lead to incomplete data reporting or hidden bugs.\n\nFix this by adding proper NULL checks for all kstrdup() calls in\nphy_prepare_data() and implement a centralized error handling path\nusing goto labels to ensure all previously allocated resources are\nfreed on failure.","Type":"Description","Title":"net: ethtool: fix NULL pointer dereference in phy_reply_size"}]}}}