{"id":"CVE-2026-98204","state":"PUBLISHED","title":"Input: rmi_smbus - fix out-of-bounds read in rmi_smb_write_block()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nInput: rmi_smbus - fix out-of-bounds read in rmi_smb_write_block()\n\nWhen chunking writes into SMBus blocks in rmi_smb_write_block(), the\nloop calculates block_len using the original total length (len) instead\nof the remaining length (cur_len).\n\nIf len is greater than 32 bytes (SMB_MAX_COUNT), block_len remains 32\nfor every iteration, even on the final partial chunk where fewer than 32\nbytes remain. This causes smb_block_write() to read 32 bytes from the\nadvanced data buffer pointer, reading past the end of the input buffer.\n\nFix this by calculating block_len using cur_len and advancing the buffer\nand address pointers by block_len.","publishedAt":"2026-10-06T08:44:41.712Z","updatedAt":"2026-10-19T09:15:35.168Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"d01337c0892d1509500c727edf81380777c2dd0f","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"7c800af1c6030a5f27d46ce7d6d5d75f9c1efaf8","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"29fbcf5834f0a7f74bfd017c07da2411b35a4e2a","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"50dd585bee7669eb165e5defcc35d17f3822cfbb","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"e022538e13dd1c82af5ec25ac28f12ca0ab26160","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"dc05ec97b8299e48e31367a9bc412c7e9c0e2b42","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"9f0ce5e162eed8b68345abe839c59768bc60f99a","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"51cfe54f815ae175c7d1126b983d4d7c89715004","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/input/rmi4/rmi_smbus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.10","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.112","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.54","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.8","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/input/rmi4/rmi_smbus.c"]}],"references":["https://git.kernel.org/stable/c/d01337c0892d1509500c727edf81380777c2dd0f","https://git.kernel.org/stable/c/7c800af1c6030a5f27d46ce7d6d5d75f9c1efaf8","https://git.kernel.org/stable/c/29fbcf5834f0a7f74bfd017c07da2411b35a4e2a","https://git.kernel.org/stable/c/50dd585bee7669eb165e5defcc35d17f3822cfbb","https://git.kernel.org/stable/c/e022538e13dd1c82af5ec25ac28f12ca0ab26160","https://git.kernel.org/stable/c/dc05ec97b8299e48e31367a9bc412c7e9c0e2b42","https://git.kernel.org/stable/c/9f0ce5e162eed8b68345abe839c59768bc60f99a","https://git.kernel.org/stable/c/51cfe54f815ae175c7d1126b983d4d7c89715004"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98204.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98204","state":"PUBLISHED","datePublished":"2026-10-06T08:44:41.712Z","dateUpdated":"2026-10-19T09:15:35.168Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.325Z"},"containers":{"cna":{"title":"Input: rmi_smbus - fix out-of-bounds read in rmi_smb_write_block()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nInput: rmi_smbus - fix out-of-bounds read in rmi_smb_write_block()\n\nWhen chunking writes into SMBus blocks in rmi_smb_write_block(), the\nloop calculates block_len using the original total length (len) instead\nof the remaining length (cur_len).\n\nIf len is greater than 32 bytes (SMB_MAX_COUNT), block_len remains 32\nfor every iteration, even on the final partial chunk where fewer than 32\nbytes remain. This causes smb_block_write() to read 32 bytes from the\nadvanced data buffer pointer, reading past the end of the input buffer.\n\nFix this by calculating block_len using cur_len and advancing the buffer\nand address pointers by block_len."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"d01337c0892d1509500c727edf81380777c2dd0f","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"7c800af1c6030a5f27d46ce7d6d5d75f9c1efaf8","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"29fbcf5834f0a7f74bfd017c07da2411b35a4e2a","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"50dd585bee7669eb165e5defcc35d17f3822cfbb","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"e022538e13dd1c82af5ec25ac28f12ca0ab26160","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"dc05ec97b8299e48e31367a9bc412c7e9c0e2b42","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"9f0ce5e162eed8b68345abe839c59768bc60f99a","versionType":"git"},{"version":"82264d0cf7aef2247563c031ff2ab96579d5d0cc","status":"affected","lessThan":"51cfe54f815ae175c7d1126b983d4d7c89715004","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/input/rmi4/rmi_smbus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.10","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.112","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.54","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.8","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/input/rmi4/rmi_smbus.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d01337c0892d1509500c727edf81380777c2dd0f"},{"url":"https://git.kernel.org/stable/c/7c800af1c6030a5f27d46ce7d6d5d75f9c1efaf8"},{"url":"https://git.kernel.org/stable/c/29fbcf5834f0a7f74bfd017c07da2411b35a4e2a"},{"url":"https://git.kernel.org/stable/c/50dd585bee7669eb165e5defcc35d17f3822cfbb"},{"url":"https://git.kernel.org/stable/c/e022538e13dd1c82af5ec25ac28f12ca0ab26160"},{"url":"https://git.kernel.org/stable/c/dc05ec97b8299e48e31367a9bc412c7e9c0e2b42"},{"url":"https://git.kernel.org/stable/c/9f0ce5e162eed8b68345abe839c59768bc60f99a"},{"url":"https://git.kernel.org/stable/c/51cfe54f815ae175c7d1126b983d4d7c89715004"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:15:35.168Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"5.10.271"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"5.15.222"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.1.189"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.6.158"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.12.112"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"6.18.54"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"7.2.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.10","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}