{"id":"CVE-2026-46001","state":"PUBLISHED","title":"hwmon: (pt5161l) Fix bugs in pt5161l_read_block_data()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (pt5161l) Fix bugs in pt5161l_read_block_data()\n\nFix two bugs in pt5161l_read_block_data():\n\n1. Buffer overrun: The local buffer rbuf is declared as u8 rbuf[24],\n   but i2c_smbus_read_block_data() can return up to\n   I2C_SMBUS_BLOCK_MAX (32) bytes. The i2c-core copies the data into\n   the caller's buffer before the return value can be checked, so\n   the post-read length validation does not prevent a stack overrun\n   if a device returns more than 24 bytes. Resize the buffer to\n   I2C_SMBUS_BLOCK_MAX.\n\n2. Unexpected positive return on length mismatch: When all three\n   retries are exhausted because the device returns data with an\n   unexpected length, i2c_smbus_read_block_data() returns a positive\n   byte count. The function returns this directly, and callers treat\n   any non-negative return as success, processing stale or incomplete\n   buffer contents. Return -EIO when retries are exhausted with a\n   positive return value, preserving the negative error code on I2C\n   failure.","publishedAt":"2026-05-27T12:55:56.128Z","updatedAt":"2026-06-14T17:47:16.457Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"7eccabff1c9ec15e4b6fe186d5c147b13a9cdb4e","versionType":"git"},{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"95d48e37a1304d6148406c799479c0fb505aefa7","versionType":"git"},{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"a11aa9c5fd9dfe62be7cfec1f2a7546afb77254c","versionType":"git"},{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"24c73e93d6a756e1b8626bb259d2e07c5b89b370","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hwmon/pt5161l.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.9","versionType":"semver"},{"version":"6.12.86","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.27","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.4","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/pt5161l.c"]}],"references":["https://git.kernel.org/stable/c/7eccabff1c9ec15e4b6fe186d5c147b13a9cdb4e","https://git.kernel.org/stable/c/95d48e37a1304d6148406c799479c0fb505aefa7","https://git.kernel.org/stable/c/a11aa9c5fd9dfe62be7cfec1f2a7546afb77254c","https://git.kernel.org/stable/c/24c73e93d6a756e1b8626bb259d2e07c5b89b370"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/46xxx/CVE-2026-46001.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46001","state":"PUBLISHED","datePublished":"2026-05-27T12:55:56.128Z","dateUpdated":"2026-06-14T17:47:16.457Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-13T15:03:33.091Z"},"containers":{"cna":{"title":"hwmon: (pt5161l) Fix bugs in pt5161l_read_block_data()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nhwmon: (pt5161l) Fix bugs in pt5161l_read_block_data()\n\nFix two bugs in pt5161l_read_block_data():\n\n1. Buffer overrun: The local buffer rbuf is declared as u8 rbuf[24],\n   but i2c_smbus_read_block_data() can return up to\n   I2C_SMBUS_BLOCK_MAX (32) bytes. The i2c-core copies the data into\n   the caller's buffer before the return value can be checked, so\n   the post-read length validation does not prevent a stack overrun\n   if a device returns more than 24 bytes. Resize the buffer to\n   I2C_SMBUS_BLOCK_MAX.\n\n2. Unexpected positive return on length mismatch: When all three\n   retries are exhausted because the device returns data with an\n   unexpected length, i2c_smbus_read_block_data() returns a positive\n   byte count. The function returns this directly, and callers treat\n   any non-negative return as success, processing stale or incomplete\n   buffer contents. Return -EIO when retries are exhausted with a\n   positive return value, preserving the negative error code on I2C\n   failure."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"7eccabff1c9ec15e4b6fe186d5c147b13a9cdb4e","versionType":"git"},{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"95d48e37a1304d6148406c799479c0fb505aefa7","versionType":"git"},{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"a11aa9c5fd9dfe62be7cfec1f2a7546afb77254c","versionType":"git"},{"version":"1b2ca93cd0592b1fcbc6f8b64e02552bc15f4bb4","status":"affected","lessThan":"24c73e93d6a756e1b8626bb259d2e07c5b89b370","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/hwmon/pt5161l.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.9","versionType":"semver"},{"version":"6.12.86","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.27","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.4","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/pt5161l.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/7eccabff1c9ec15e4b6fe186d5c147b13a9cdb4e"},{"url":"https://git.kernel.org/stable/c/95d48e37a1304d6148406c799479c0fb505aefa7"},{"url":"https://git.kernel.org/stable/c/a11aa9c5fd9dfe62be7cfec1f2a7546afb77254c"},{"url":"https://git.kernel.org/stable/c/24c73e93d6a756e1b8626bb259d2e07c5b89b370"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-14T17:47:16.457Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"6.12.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"6.18.27"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"7.0.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}