{"api_version":"1","generated_at":"2026-07-20T18:15:11+00:00","cve":"CVE-2026-64085","urls":{"html":"https://cve.report/CVE-2026-64085","api":"https://cve.report/api/cve/CVE-2026-64085.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64085","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64085"},"summary":{"title":"hwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer\n\nadm1266_pmbus_block_xfer() copies the device-supplied block payload\ninto the caller-provided buffer using the device-supplied length:\n\n\tmemcpy(data_r, &msgs[1].buf[1], msgs[1].buf[0]);\n\nThe helper does not know how large data_r is and trusts the device to\nreturn at most one record's worth of bytes.  adm1266_nvmem_read_blackbox()\nviolates that contract: it advances read_buff inside data->dev_mem in\nADM1266_BLACKBOX_SIZE (64-byte) strides while the helper is willing to\nwrite up to ADM1266_PMBUS_BLOCK_MAX (255) bytes.  A device that returns\nmore than 64 bytes on the trailing record (read_buff offset 1984 in\nthe 2048-byte dev_mem allocation) overflows dev_mem by up to 191 bytes\nbefore the post-call\n\n\tif (ret != ADM1266_BLACKBOX_SIZE)\n\t\treturn -EIO;\n\ncan reject the response.\n\nContain the fix in the caller without changing the helper signature:\nread each record into a 255-byte local bounce buffer that matches the\nhelper's maximum output, validate the returned length, and only then\ncopy exactly ADM1266_BLACKBOX_SIZE bytes into the dev_mem slot.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-19 16:17:49","updated_at":"2026-07-19 16:17:49"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f","name":"https://git.kernel.org/stable/c/97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/60c4b9fe1a3dd012014b1f561a6928a0b5db1126","name":"https://git.kernel.org/stable/c/60c4b9fe1a3dd012014b1f561a6928a0b5db1126","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6098634cfa711f11a8d65368dc51ec8f7c8241ba","name":"https://git.kernel.org/stable/c/6098634cfa711f11a8d65368dc51ec8f7c8241ba","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/7896d87cbb05e097efc113243d4e38f9f8cea16c","name":"https://git.kernel.org/stable/c/7896d87cbb05e097efc113243d4e38f9f8cea16c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/83e039f0a43e0708515b0479cb7690fb93faaaa0","name":"https://git.kernel.org/stable/c/83e039f0a43e0708515b0479cb7690fb93faaaa0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/43cae21424ff8e33894a0f86c6b80b840c049fd7","name":"https://git.kernel.org/stable/c/43cae21424ff8e33894a0f86c6b80b840c049fd7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/dd47b8c4a0a8ced442da3f008db28fbbd31feaf0","name":"https://git.kernel.org/stable/c/dd47b8c4a0a8ced442da3f008db28fbbd31feaf0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9d5309500b4607b7198e19f0a3fa13eb864cd5fb","name":"https://git.kernel.org/stable/c/9d5309500b4607b7198e19f0a3fa13eb864cd5fb","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64085","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64085","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 7896d87cbb05e097efc113243d4e38f9f8cea16c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 9d5309500b4607b7198e19f0a3fa13eb864cd5fb git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 6098634cfa711f11a8d65368dc51ec8f7c8241ba git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 60c4b9fe1a3dd012014b1f561a6928a0b5db1126 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 83e039f0a43e0708515b0479cb7690fb93faaaa0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 dd47b8c4a0a8ced442da3f008db28fbbd31feaf0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 407dc802a9c0809ca6a48de4b4c63305eb84ef56 43cae21424ff8e33894a0f86c6b80b840c049fd7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.10","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.258 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.209 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.175 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.142 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.92 6.12.* 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":["drivers/hwmon/pmbus/adm1266.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"7896d87cbb05e097efc113243d4e38f9f8cea16c","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"9d5309500b4607b7198e19f0a3fa13eb864cd5fb","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"6098634cfa711f11a8d65368dc51ec8f7c8241ba","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"60c4b9fe1a3dd012014b1f561a6928a0b5db1126","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"83e039f0a43e0708515b0479cb7690fb93faaaa0","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"dd47b8c4a0a8ced442da3f008db28fbbd31feaf0","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"},{"lessThan":"43cae21424ff8e33894a0f86c6b80b840c049fd7","status":"affected","version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/hwmon/pmbus/adm1266.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.10"},{"lessThan":"5.10","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.258","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.209","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.175","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.142","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.92","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":"5.10.258","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.209","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.175","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.142","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.92","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.34","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.11","versionStartIncluding":"5.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"5.10","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer\n\nadm1266_pmbus_block_xfer() copies the device-supplied block payload\ninto the caller-provided buffer using the device-supplied length:\n\n\tmemcpy(data_r, &msgs[1].buf[1], msgs[1].buf[0]);\n\nThe helper does not know how large data_r is and trusts the device to\nreturn at most one record's worth of bytes.  adm1266_nvmem_read_blackbox()\nviolates that contract: it advances read_buff inside data->dev_mem in\nADM1266_BLACKBOX_SIZE (64-byte) strides while the helper is willing to\nwrite up to ADM1266_PMBUS_BLOCK_MAX (255) bytes.  A device that returns\nmore than 64 bytes on the trailing record (read_buff offset 1984 in\nthe 2048-byte dev_mem allocation) overflows dev_mem by up to 191 bytes\nbefore the post-call\n\n\tif (ret != ADM1266_BLACKBOX_SIZE)\n\t\treturn -EIO;\n\ncan reject the response.\n\nContain the fix in the caller without changing the helper signature:\nread each record into a 255-byte local bounce buffer that matches the\nhelper's maximum output, validate the returned length, and only then\ncopy exactly ADM1266_BLACKBOX_SIZE bytes into the dev_mem slot."}],"providerMetadata":{"dateUpdated":"2026-07-19T15:39:56.067Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/7896d87cbb05e097efc113243d4e38f9f8cea16c"},{"url":"https://git.kernel.org/stable/c/9d5309500b4607b7198e19f0a3fa13eb864cd5fb"},{"url":"https://git.kernel.org/stable/c/6098634cfa711f11a8d65368dc51ec8f7c8241ba"},{"url":"https://git.kernel.org/stable/c/60c4b9fe1a3dd012014b1f561a6928a0b5db1126"},{"url":"https://git.kernel.org/stable/c/83e039f0a43e0708515b0479cb7690fb93faaaa0"},{"url":"https://git.kernel.org/stable/c/97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f"},{"url":"https://git.kernel.org/stable/c/dd47b8c4a0a8ced442da3f008db28fbbd31feaf0"},{"url":"https://git.kernel.org/stable/c/43cae21424ff8e33894a0f86c6b80b840c049fd7"}],"title":"hwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64085","datePublished":"2026-07-19T15:39:56.067Z","dateReserved":"2026-07-19T07:54:57.032Z","dateUpdated":"2026-07-19T15:39:56.067Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-19 16:17:49","lastModifiedDate":"2026-07-19 16:17:49","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64085","Ordinal":"1","Title":"hwmon: (pmbus/adm1266) bounce blackbox records through a protoco","CVE":"CVE-2026-64085","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64085","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer\n\nadm1266_pmbus_block_xfer() copies the device-supplied block payload\ninto the caller-provided buffer using the device-supplied length:\n\n\tmemcpy(data_r, &msgs[1].buf[1], msgs[1].buf[0]);\n\nThe helper does not know how large data_r is and trusts the device to\nreturn at most one record's worth of bytes.  adm1266_nvmem_read_blackbox()\nviolates that contract: it advances read_buff inside data->dev_mem in\nADM1266_BLACKBOX_SIZE (64-byte) strides while the helper is willing to\nwrite up to ADM1266_PMBUS_BLOCK_MAX (255) bytes.  A device that returns\nmore than 64 bytes on the trailing record (read_buff offset 1984 in\nthe 2048-byte dev_mem allocation) overflows dev_mem by up to 191 bytes\nbefore the post-call\n\n\tif (ret != ADM1266_BLACKBOX_SIZE)\n\t\treturn -EIO;\n\ncan reject the response.\n\nContain the fix in the caller without changing the helper signature:\nread each record into a 255-byte local bounce buffer that matches the\nhelper's maximum output, validate the returned length, and only then\ncopy exactly ADM1266_BLACKBOX_SIZE bytes into the dev_mem slot.","Type":"Description","Title":"hwmon: (pmbus/adm1266) bounce blackbox records through a protoco"}]}}}