CVE-2026-64135
hwmon: (pmbus/adm1266) widen blackbox-info buffer to I2C_SMBUS_BLOCK_MAX
Description
In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus/adm1266) widen blackbox-info buffer to I2C_SMBUS_BLOCK_MAX adm1266_nvmem_read_blackbox() declares a 5-byte stack buffer and passes it to i2c_smbus_read_block_data() to retrieve the 4-byte BLACKBOX_INFO response. i2c_smbus_read_block_data() does not honour caller buffer sizes -- it memcpy()s data.block[0] bytes from the SMBus transaction (where data.block[0] is the length byte returned by the slave device, up to I2C_SMBUS_BLOCK_MAX = 32): memcpy(values, &data.block[1], data.block[0]); If the device returns any block length above 5, the call overflows the caller's 5-byte stack buffer before the post-call if (ret != 4) return -EIO; check has a chance to reject the response. Widen the local buffer to I2C_SMBUS_BLOCK_MAX so the helper has room for any well-formed SMBus block response, matching the convention used by the other i2c_smbus_read_block_data() callers in this driver.
INFO
Published Date :
July 19, 2026, 4:17 p.m.
Last Modified :
Aug. 13, 2026, 3:08 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | MEDIUM | [email protected] |
Solution
- Widen the blackbox-info buffer to I2C_SMBUS_BLOCK_MAX.
- Ensure buffers match i2c_smbus_read_block_data() conventions.
- Apply kernel patches to resolve the memory corruption vulnerability.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-64135.
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-64135 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-64135
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-64135 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-64135 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.
-
Initial Analysis by [email protected]
Aug. 13, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Added CWE CWE-674 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.175 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.209 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.92 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.34 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.0.11 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.142 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.10 up to (excluding) 5.10.258 Added Reference Type kernel.org: https://git.kernel.org/stable/c/0dbf64c502443c08c2e28a77ecbfcc5479d93228 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/2b7a698d5093b548c464828d984f05ced5f3fd2a Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/33251abb9c9dd62943be76f0427c5527ee39188f Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/6ed16a40b162e9d87d9ac8bed4d7f0e3e807700e Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/7f705e581ef3e6bb308a121a89adf5237d968204 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/ba09f4baa5bd96c5d26c942defa546a72dbbe5bf Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/ca560f7566df7e2826c2999e959e6b94eb938f76 Types: Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/eee213daa1e1b402eb631bcd1b8c5aa340a6b081 Types: Patch -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 19, 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': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': '33251abb9c9dd62943be76f0427c5527ee39188f', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': 'ba09f4baa5bd96c5d26c942defa546a72dbbe5bf', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': '6ed16a40b162e9d87d9ac8bed4d7f0e3e807700e', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': '0dbf64c502443c08c2e28a77ecbfcc5479d93228', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': '2b7a698d5093b548c464828d984f05ced5f3fd2a', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': 'ca560f7566df7e2826c2999e959e6b94eb938f76', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': '7f705e581ef3e6bb308a121a89adf5237d968204', 'versionType': 'git'}, {'status': 'affected', 'version': '15609d1893020436e1e8ccfd9ded774a96dd17a2', 'lessThan': 'eee213daa1e1b402eb631bcd1b8c5aa340a6b081', 'versionType': 'git'}], 'programFiles': ['drivers/hwmon/pmbus/adm1266.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.10'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.10', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.258', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.209', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.175', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.142', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.92', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.34', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.11', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/hwmon/pmbus/adm1266.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus/adm1266) widen blackbox-info buffer to I2C_SMBUS_BLOCK_MAX adm1266_nvmem_read_blackbox() declares a 5-byte stack buffer and passes it to i2c_smbus_read_block_data() to retrieve the 4-byte BLACKBOX_INFO response. i2c_smbus_read_block_data() does not honour caller buffer sizes -- it memcpy()s data.block[0] bytes from the SMBus transaction (where data.block[0] is the length byte returned by the slave device, up to I2C_SMBUS_BLOCK_MAX = 32): memcpy(values, &data.block[1], data.block[0]); If the device returns any block length above 5, the call overflows the caller's 5-byte stack buffer before the post-call if (ret != 4) return -EIO; check has a chance to reject the response. Widen the local buffer to I2C_SMBUS_BLOCK_MAX so the helper has room for any well-formed SMBus block response, matching the convention used by the other i2c_smbus_read_block_data() callers in this driver. Added Reference https://git.kernel.org/stable/c/0dbf64c502443c08c2e28a77ecbfcc5479d93228 Added Reference https://git.kernel.org/stable/c/2b7a698d5093b548c464828d984f05ced5f3fd2a Added Reference https://git.kernel.org/stable/c/33251abb9c9dd62943be76f0427c5527ee39188f Added Reference https://git.kernel.org/stable/c/6ed16a40b162e9d87d9ac8bed4d7f0e3e807700e Added Reference https://git.kernel.org/stable/c/7f705e581ef3e6bb308a121a89adf5237d968204 Added Reference https://git.kernel.org/stable/c/ba09f4baa5bd96c5d26c942defa546a72dbbe5bf Added Reference https://git.kernel.org/stable/c/ca560f7566df7e2826c2999e959e6b94eb938f76 Added Reference https://git.kernel.org/stable/c/eee213daa1e1b402eb631bcd1b8c5aa340a6b081