{"id":"CVE-2026-43476","state":"PUBLISHED","title":"iio: chemical: sps30_i2c: fix buffer size in sps30_i2c_read_meas()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\niio: chemical: sps30_i2c: fix buffer size in sps30_i2c_read_meas()\n\nsizeof(num) evaluates to sizeof(size_t) (8 bytes on 64-bit) instead\nof the intended __be32 element size (4 bytes). Use sizeof(*meas) to\ncorrectly match the buffer element type.","publishedAt":"2026-05-13T15:08:26.152Z","updatedAt":"2026-08-05T12:28:11.813Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"9aff2e9c2927ecd9652872a43a0725f101128104","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"08881d82f94deaa51800360029908863e5c4c39d","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"dcdf1e92674efb6692f4ebe189e0aa9fde23a541","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"2a4d111a6a34afb8bb4f118009e7728ed2ec7e10","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"90e978ace598567e6e30de79805bddf37cf892ac","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"165f12b40901c6a7aca15796da239726ddcdc5ad","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"216345f98cae7fcc84f49728c67478ac00321c87","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iio/chemical/sps30_i2c.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.14","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iio/chemical/sps30_i2c.c"]}],"references":["https://git.kernel.org/stable/c/9aff2e9c2927ecd9652872a43a0725f101128104","https://git.kernel.org/stable/c/08881d82f94deaa51800360029908863e5c4c39d","https://git.kernel.org/stable/c/dcdf1e92674efb6692f4ebe189e0aa9fde23a541","https://git.kernel.org/stable/c/2a4d111a6a34afb8bb4f118009e7728ed2ec7e10","https://git.kernel.org/stable/c/90e978ace598567e6e30de79805bddf37cf892ac","https://git.kernel.org/stable/c/165f12b40901c6a7aca15796da239726ddcdc5ad","https://git.kernel.org/stable/c/216345f98cae7fcc84f49728c67478ac00321c87"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43476.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43476","state":"PUBLISHED","datePublished":"2026-05-13T15:08:26.152Z","dateUpdated":"2026-08-05T12:28:11.813Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:56.011Z"},"containers":{"cna":{"title":"iio: chemical: sps30_i2c: fix buffer size in sps30_i2c_read_meas()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\niio: chemical: sps30_i2c: fix buffer size in sps30_i2c_read_meas()\n\nsizeof(num) evaluates to sizeof(size_t) (8 bytes on 64-bit) instead\nof the intended __be32 element size (4 bytes). Use sizeof(*meas) to\ncorrectly match the buffer element type."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"9aff2e9c2927ecd9652872a43a0725f101128104","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"08881d82f94deaa51800360029908863e5c4c39d","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"dcdf1e92674efb6692f4ebe189e0aa9fde23a541","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"2a4d111a6a34afb8bb4f118009e7728ed2ec7e10","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"90e978ace598567e6e30de79805bddf37cf892ac","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"165f12b40901c6a7aca15796da239726ddcdc5ad","versionType":"git"},{"version":"8f3f130852785dac0759843835ca97c3bacc2b10","status":"affected","lessThan":"216345f98cae7fcc84f49728c67478ac00321c87","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iio/chemical/sps30_i2c.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.14","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.19","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.9","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/iio/chemical/sps30_i2c.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/9aff2e9c2927ecd9652872a43a0725f101128104"},{"url":"https://git.kernel.org/stable/c/08881d82f94deaa51800360029908863e5c4c39d"},{"url":"https://git.kernel.org/stable/c/dcdf1e92674efb6692f4ebe189e0aa9fde23a541"},{"url":"https://git.kernel.org/stable/c/2a4d111a6a34afb8bb4f118009e7728ed2ec7e10"},{"url":"https://git.kernel.org/stable/c/90e978ace598567e6e30de79805bddf37cf892ac"},{"url":"https://git.kernel.org/stable/c/165f12b40901c6a7aca15796da239726ddcdc5ad"},{"url":"https://git.kernel.org/stable/c/216345f98cae7fcc84f49728c67478ac00321c87"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - An attacker reaches the vulnerable path by locally reading world-readable IIO sysfs channel attributes for the SPS30 I2C device, which invoke the driver read path. The bug is not exposed through a network protocol or adjacent wireless interface.\nAC:L - Triggering requires only a normal measurement read once an affected SPS30 I2C device is present; there is no race and the attacker controls repeated attempts. The 64-bit size_t condition is a common affected platform property, not an exploitation hurdle.\nPR:L - The raw IIO channel attributes are created read-only with mode 0444, so any basic local unprivileged user can trigger the vulnerable read. No CAP_SYS_ADMIN, CAP_NET_ADMIN, root-only ioctl, or user-namespace capability path is required.\nUI:N - No victim action is required after the attacker has local access. The attacker can directly read the exposed sysfs attribute.\nS:U - The memory corruption occurs in kernel driver context and affects the same kernel security authority. This is a standard local kernel compromise scenario, not a VM, IOMMU, or sandbox boundary crossing that changes scope.\nC:H - The old sizeof(num) calculation causes decoded I2C measurement data to be copied past the caller's 32-bit measurement buffer on the kernel stack. As an out-of-bounds stack write, this memory corruption is defensibly treated as capable of enabling kernel information disclosure.\nI:H - The bug is an out-of-bounds kernel stack write of up to 16 bytes on the PM10/read-buffer path, and repeated local triggering is possible. Kernel OOB writes are treated as high integrity impact because they can plausibly corrupt control data or other sensitive stack state.\nA:H - The stack corruption can crash or oops the kernel, especially with stack protector or corrupted adjacent state. Repeated unprivileged reads can therefore cause high availability impact."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:28:11.813Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.18.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.19.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}