CVE-2026-64191

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-07-20. a secondary CVSS source baseline 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this week
7.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.8Exploit: None knownExposed: 0

A fix is available — apply it.

In the Linux kernel, the following vulnerability has been resolved:

i2c: stub: Reject I2C block transfers with invalid length

The I2C_SMBUS_I2C_BLOCK_DATA case in stub_xfer() uses data->block[0] as the transfer length. The existing check only clamps it to avoid overrunning the chip->words[256] register array, but does not validate it against I2C_SMBUS_BLOCK_MAX (32), which is the limit of the union i2c_smbus_data.block buffer (34 bytes total). The driver is a development/test tool (CONFIG_I2C_STUB=m, not built by default) that must be loaded with a chip_addr= parameter.

A local user with access to /dev/i2c-* can issue an I2C_SMBUS ioctl with I2C_SMBUS_I2C_BLOCK_DATA and data->block[0] > 32, causing stub_xfer() to read or write past the end of the union i2c_smbus_data.block buffer:

BUG: KASAN: stack-out-of-bounds in stub_xfer (drivers/i2c/i2c-stub.c:223) Read of size 1 at addr ffff88800abcfd92 by task exploit/81 Call Trace: stub_xfer (drivers/i2c/i2c-stub.c:223) __i2c_smbus_xfer (drivers/i2c/i2c-core-smbus.c:593) i2c_smbus_xfer (drivers/i2c/i2c-core-smbus.c:536) i2cdev_ioctl_smbus (drivers/i2c/i2c-dev.c:391) i2cdev_ioctl (drivers/i2c/i2c-dev.c:478) __x64_sys_ioctl (fs/ioctl.c:583) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)

The bug exists because i2c-stub implements .smbus_xfer directly, bypassing the I2C_SMBUS_BLOCK_MAX validation in i2c_smbus_xfer_emulated(). The I2C_SMBUS_BLOCK_DATA case in the same function correctly validates against I2C_SMBUS_BLOCK_MAX, but the I2C_SMBUS_I2C_BLOCK_DATA case does not.

Fix by rejecting transfers with data->block[0] == 0 or data->block[0] > I2C_SMBUS_BLOCK_MAX with -EINVAL, consistent with both the I2C_SMBUS_BLOCK_DATA case in the same function and the I2C_SMBUS_I2C_BLOCK_DATA validation in i2c_smbus_xfer_emulated().

CVSS v3
7.8
EG Score
7.8(medium)
EG Risk
40(Track)
EG Risk 40/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity78% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
3%
KEV
Not listed

Published

July 20, 2026

Last Modified

August 11, 2026

Advisory Details (8)

Auto-updated Jul 27, 2026
No patch confirmed yet.
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/7e9072dbd5f2f17934751873450d2c22080ead80
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/6036b5067a8199ba7a2dc7b377d4b9dd276d5f9e
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/5f4d2bd028ebb6e4c09a9d64842546022321d4a7
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/4bd8635f28c135a08aac6badcd7d9b5cdb34335f
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/3fd225f3e4cd67ec8ddab1afed9da03c7c43537c
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/21e87f336ac6303fed54a69b1d0d79a23b25c8d0
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1c4ffe6b4f04365485ed58d64c9bb86b46fc9037
generic

i2c: stub: Reject I2C block transfers with invalid length - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/0526931b16e5a118d367b7bfce7d797e63f7ac69

Patch Availability(11)

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(5 across 4 ecosystems)
Debian:11(2)
PackageVulnerable rangeFixed inDependents
linux5.10.103-1 ... 5.10.92-2 (55 versions)5.10.262-1
linux-6.16.1.106-3~deb11u1 ... 6.1.176-1~deb11u1 (21 versions)6.1.177-1~deb11u1
Debian:12(1)
PackageVulnerable rangeFixed inDependents
linux6.1.106-1 ... 6.1.99-1 (54 versions)6.1.177-1
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.95-1~bpo12+1 (29 versions)6.12.95-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 7.0.9-1~bpo13+1 (146 versions)7.0.14-1

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Additional Vendor Advisories

(4)

Vendors that published advisories for this CVE beyond the curated set above. Broader coverage but minimal per-row detail — click through for the original advisory.

Data Freshness Timeline

(refreshed 21× in last 7d / 107× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 456 total refreshes for this CVE.

  1. 2026-09-18 19:28 UTCEPSS rescore
  2. 2026-09-18 03:57 UTCVendor advisory
  3. 2026-09-18 03:57 UTCGHSA enrichment
  4. 2026-09-17 05:13 UTCEG score recompute
  5. 2026-09-17 05:13 UTCVendor advisory
  6. 2026-09-17 05:13 UTCGHSA enrichment
  7. 2026-09-16 14:08 UTCEPSS rescore
  8. 2026-09-16 12:47 UTCEG score recompute
  9. 2026-09-16 12:47 UTCVendor advisory
  10. 2026-09-16 12:47 UTCGHSA enrichment
  11. 2026-09-16 05:15 UTCEPSS rescore
  12. 2026-09-14 04:45 UTCVendor advisory
  13. 2026-09-14 04:45 UTCGHSA enrichment
  14. 2026-09-13 17:54 UTCEG score recompute
  15. 2026-09-13 17:54 UTCVendor advisory
  16. 2026-09-13 17:54 UTCGHSA enrichment
  17. 2026-09-13 07:03 UTCVendor advisory
  18. 2026-09-13 07:03 UTCGHSA enrichment
  19. 2026-09-12 19:23 UTCEG score recompute
  20. 2026-09-12 19:23 UTCVendor advisory
  21. 2026-09-12 19:23 UTCGHSA enrichment
  22. 2026-09-12 07:22 UTCVendor advisory
  23. 2026-09-12 07:22 UTCGHSA enrichment
  24. 2026-09-11 20:31 UTCEG score recompute
  25. 2026-09-11 20:31 UTCVendor advisory
Show 75 more
  1. 2026-09-11 20:31 UTCGHSA enrichment
  2. 2026-09-11 14:53 UTCEPSS rescore
  3. 2026-09-11 09:37 UTCEPSS rescore
  4. 2026-09-11 09:25 UTCEG score recompute
  5. 2026-09-11 09:25 UTCVendor advisory
  6. 2026-09-11 09:24 UTCGHSA enrichment
  7. 2026-09-09 11:54 UTCEG score recompute
  8. 2026-09-09 11:54 UTCVendor advisory
  9. 2026-09-09 11:54 UTCGHSA enrichment
  10. 2026-09-08 22:01 UTCEPSS rescore
  11. 2026-09-07 22:54 UTCEG score recompute
  12. 2026-09-07 22:54 UTCVendor advisory
  13. 2026-09-07 22:54 UTCGHSA enrichment
  14. 2026-09-07 16:01 UTCEPSS rescore
  15. 2026-09-06 13:47 UTCEPSS rescore
  16. 2026-09-06 11:45 UTCVendor advisory
  17. 2026-09-06 11:45 UTCGHSA enrichment
  18. 2026-09-05 20:23 UTCEG score recompute
  19. 2026-09-05 20:23 UTCVendor advisory
  20. 2026-09-05 20:23 UTCGHSA enrichment
  21. 2026-09-05 15:31 UTCEPSS rescore
  22. 2026-09-05 09:31 UTCEG score recompute
  23. 2026-09-05 09:31 UTCVendor advisory
  24. 2026-09-05 09:31 UTCGHSA enrichment
  25. 2026-09-04 05:07 UTCEPSS rescore
  26. 2026-09-02 14:12 UTCEPSS rescore
  27. 2026-09-01 13:54 UTCEPSS rescore
  28. 2026-08-31 00:23 UTCEG score recompute
  29. 2026-08-31 00:23 UTCVendor advisory
  30. 2026-08-31 00:23 UTCGHSA enrichment
  31. 2026-08-30 19:17 UTCEPSS rescore
  32. 2026-08-30 13:33 UTCVendor advisory
  33. 2026-08-30 13:33 UTCGHSA enrichment
  34. 2026-08-30 02:36 UTCEG score recompute
  35. 2026-08-30 02:36 UTCVendor advisory
  36. 2026-08-30 02:36 UTCGHSA enrichment
  37. 2026-08-30 01:22 UTCEPSS rescore
  38. 2026-08-28 21:42 UTCEPSS rescore
  39. 2026-08-27 22:31 UTCEG score recompute
  40. 2026-08-27 22:31 UTCVendor advisory
  41. 2026-08-27 22:31 UTCGHSA enrichment
  42. 2026-08-27 11:41 UTCVendor advisory
  43. 2026-08-27 11:41 UTCGHSA enrichment
  44. 2026-08-26 22:08 UTCEG score recompute
  45. 2026-08-26 22:08 UTCVendor advisory
  46. 2026-08-26 22:08 UTCGHSA enrichment
  47. 2026-08-26 14:46 UTCEPSS rescore
  48. 2026-08-26 07:20 UTCVendor advisory
  49. 2026-08-26 07:20 UTCGHSA enrichment
  50. 2026-08-25 20:13 UTCEG score recompute
  51. 2026-08-25 20:13 UTCVendor advisory
  52. 2026-08-25 20:13 UTCGHSA enrichment
  53. 2026-08-25 13:49 UTCEPSS rescore
  54. 2026-08-25 09:02 UTCVendor advisory
  55. 2026-08-25 09:02 UTCGHSA enrichment
  56. 2026-08-24 22:11 UTCEG score recompute
  57. 2026-08-24 22:11 UTCVendor advisory
  58. 2026-08-24 22:11 UTCGHSA enrichment
  59. 2026-08-24 11:19 UTCEG score recompute
  60. 2026-08-24 11:19 UTCVendor advisory
  61. 2026-08-24 11:19 UTCGHSA enrichment
  62. 2026-08-24 00:28 UTCVendor advisory
  63. 2026-08-24 00:28 UTCGHSA enrichment
  64. 2026-08-23 13:37 UTCVendor advisory
  65. 2026-08-23 13:37 UTCGHSA enrichment
  66. 2026-08-23 02:47 UTCEG score recompute
  67. 2026-08-23 02:47 UTCVendor advisory
  68. 2026-08-23 02:47 UTCGHSA enrichment
  69. 2026-08-23 00:19 UTCEPSS rescore
  70. 2026-08-22 15:55 UTCVendor advisory
  71. 2026-08-22 15:55 UTCGHSA enrichment
  72. 2026-08-22 05:03 UTCEG score recompute
  73. 2026-08-22 05:03 UTCVendor advisory
  74. 2026-08-22 05:03 UTCGHSA enrichment
  75. 2026-08-21 23:49 UTCEPSS rescore

Frequently asked(5)

What is CVE-2026-64191?
CVE-2026-64191 is a high vulnerability published on July 20, 2026. In the Linux kernel, the following vulnerability has been resolved: i2c: stub: Reject I2C block transfers with invalid length The I2CSMBUSI2CBLOCKDATA case in stub_xfer() uses data->block[0] as the transfer length. The existing check only clamps it to avoid overrunning the chip->words[256] register…
When was CVE-2026-64191 disclosed?
CVE-2026-64191 was first published in the National Vulnerability Database on July 20, 2026, with the most recent update on August 11, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-64191 actively exploited?
CVE-2026-64191 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 97.3% of all scored CVEs.
What is the CVSS score of CVE-2026-64191?
CVE-2026-64191 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-64191?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-64191, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-64191

Explore →

Is Your Infrastructure Affected by CVE-2026-64191?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.