{"id":"CVE-2026-64085","state":"PUBLISHED","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.","publishedAt":"2026-07-19T15:39:56.067Z","updatedAt":"2026-07-19T15:39:56.067Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"7896d87cbb05e097efc113243d4e38f9f8cea16c","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"9d5309500b4607b7198e19f0a3fa13eb864cd5fb","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"6098634cfa711f11a8d65368dc51ec8f7c8241ba","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"60c4b9fe1a3dd012014b1f561a6928a0b5db1126","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"83e039f0a43e0708515b0479cb7690fb93faaaa0","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"dd47b8c4a0a8ced442da3f008db28fbbd31feaf0","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"43cae21424ff8e33894a0f86c6b80b840c049fd7","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hwmon/pmbus/adm1266.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.142","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.92","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.34","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.11","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hwmon/pmbus/adm1266.c"]}],"references":["https://git.kernel.org/stable/c/7896d87cbb05e097efc113243d4e38f9f8cea16c","https://git.kernel.org/stable/c/9d5309500b4607b7198e19f0a3fa13eb864cd5fb","https://git.kernel.org/stable/c/6098634cfa711f11a8d65368dc51ec8f7c8241ba","https://git.kernel.org/stable/c/60c4b9fe1a3dd012014b1f561a6928a0b5db1126","https://git.kernel.org/stable/c/83e039f0a43e0708515b0479cb7690fb93faaaa0","https://git.kernel.org/stable/c/97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f","https://git.kernel.org/stable/c/dd47b8c4a0a8ced442da3f008db28fbbd31feaf0","https://git.kernel.org/stable/c/43cae21424ff8e33894a0f86c6b80b840c049fd7"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64085.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64085","state":"PUBLISHED","datePublished":"2026-07-19T15:39:56.067Z","dateUpdated":"2026-07-19T15:39:56.067Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T07:54:57.032Z"},"containers":{"cna":{"title":"hwmon: (pmbus/adm1266) bounce blackbox records through a protocol-sized buffer","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."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"7896d87cbb05e097efc113243d4e38f9f8cea16c","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"9d5309500b4607b7198e19f0a3fa13eb864cd5fb","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"6098634cfa711f11a8d65368dc51ec8f7c8241ba","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"60c4b9fe1a3dd012014b1f561a6928a0b5db1126","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"83e039f0a43e0708515b0479cb7690fb93faaaa0","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"97a9cf2a8217ca1cdaf48cb9ab26e471632c7e7f","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"dd47b8c4a0a8ced442da3f008db28fbbd31feaf0","versionType":"git"},{"version":"407dc802a9c0809ca6a48de4b4c63305eb84ef56","status":"affected","lessThan":"43cae21424ff8e33894a0f86c6b80b840c049fd7","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hwmon/pmbus/adm1266.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.142","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.92","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.34","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.11","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hwmon/pmbus/adm1266.c"]}],"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"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-07-19T15:39:56.067Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"5.15.209"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.6.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.12.92"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.18.34"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"7.0.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}