{"id":"CVE-2026-72047","state":"PUBLISHED","title":"ieee802154: ca8210: fix pointer truncation in kfifo on 64-bit","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nieee802154: ca8210: fix pointer truncation in kfifo on 64-bit\n\nca8210_test_int_driver_write() and ca8210_test_int_user_read() exchange\na kmalloc'd buffer pointer through a struct kfifo, but pass a literal\n'4' as the byte count to kfifo_in()/kfifo_out().\n\nThis is correct on 32-bit (pointer = 4 bytes), but on 64-bit only the\nlow 4 bytes of the 8-byte pointer are written into the FIFO. The reader\nthen reads back 4 bytes into an 8-byte local pointer variable, leaving\nthe upper 4 bytes uninitialized stack data. The first dereference of\nthe reconstructed pointer (fifo_buffer[1]) accesses an arbitrary kernel\naddress and generally results in an oops.\n\nUse sizeof(fifo_buffer) so the byte count matches pointer width on every\narchitecture.\n\nThe driver has no architecture restriction in Kconfig, so any 64-bit\nbuild with CONFIG_IEEE802154_CA8210_DEBUGFS=y is exposed. Issue has\nbeen latent since the driver was added in 2017 because it is most\ncommonly deployed on 32-bit MCUs.\n\nFound via a custom Coccinelle semantic patch hunting for short-byte\nkfifo I/O on byte-mode kfifos used to shuttle pointers.","publishedAt":"2026-08-15T05:52:05.510Z","updatedAt":"2026-08-17T05:07:12.985Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"2c1664ccfae653979b38788211240b5a1ee317ed","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"093aacb0c56d5c693e3169a0224062e77c3fd0c0","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"87dab14a4f68895d6f4d798e6ee3556cd64e8c72","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"1fe2643d0b24ca3cdd61a31a45c2d3233dc6cbfe","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"65dc342274a01616f5c17105f7360a3b4bfd7a3d","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"2059c28bd725beded01277cdf1f67be33e714323","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"d8ce67fa6a5e6929f5414e933ff9665176c2bce6","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"6d7f7bcf225b2d566176bf6229dbd1252940cb3c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ieee802154/ca8210.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.12","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ieee802154/ca8210.c"]}],"references":["https://git.kernel.org/stable/c/2c1664ccfae653979b38788211240b5a1ee317ed","https://git.kernel.org/stable/c/093aacb0c56d5c693e3169a0224062e77c3fd0c0","https://git.kernel.org/stable/c/87dab14a4f68895d6f4d798e6ee3556cd64e8c72","https://git.kernel.org/stable/c/1fe2643d0b24ca3cdd61a31a45c2d3233dc6cbfe","https://git.kernel.org/stable/c/65dc342274a01616f5c17105f7360a3b4bfd7a3d","https://git.kernel.org/stable/c/2059c28bd725beded01277cdf1f67be33e714323","https://git.kernel.org/stable/c/d8ce67fa6a5e6929f5414e933ff9665176c2bce6","https://git.kernel.org/stable/c/6d7f7bcf225b2d566176bf6229dbd1252940cb3c"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72047.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72047","state":"PUBLISHED","datePublished":"2026-08-15T05:52:05.510Z","dateUpdated":"2026-08-17T05:07:12.985Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.902Z"},"containers":{"cna":{"title":"ieee802154: ca8210: fix pointer truncation in kfifo on 64-bit","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nieee802154: ca8210: fix pointer truncation in kfifo on 64-bit\n\nca8210_test_int_driver_write() and ca8210_test_int_user_read() exchange\na kmalloc'd buffer pointer through a struct kfifo, but pass a literal\n'4' as the byte count to kfifo_in()/kfifo_out().\n\nThis is correct on 32-bit (pointer = 4 bytes), but on 64-bit only the\nlow 4 bytes of the 8-byte pointer are written into the FIFO. The reader\nthen reads back 4 bytes into an 8-byte local pointer variable, leaving\nthe upper 4 bytes uninitialized stack data. The first dereference of\nthe reconstructed pointer (fifo_buffer[1]) accesses an arbitrary kernel\naddress and generally results in an oops.\n\nUse sizeof(fifo_buffer) so the byte count matches pointer width on every\narchitecture.\n\nThe driver has no architecture restriction in Kconfig, so any 64-bit\nbuild with CONFIG_IEEE802154_CA8210_DEBUGFS=y is exposed. Issue has\nbeen latent since the driver was added in 2017 because it is most\ncommonly deployed on 32-bit MCUs.\n\nFound via a custom Coccinelle semantic patch hunting for short-byte\nkfifo I/O on byte-mode kfifos used to shuttle pointers."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"2c1664ccfae653979b38788211240b5a1ee317ed","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"093aacb0c56d5c693e3169a0224062e77c3fd0c0","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"87dab14a4f68895d6f4d798e6ee3556cd64e8c72","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"1fe2643d0b24ca3cdd61a31a45c2d3233dc6cbfe","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"65dc342274a01616f5c17105f7360a3b4bfd7a3d","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"2059c28bd725beded01277cdf1f67be33e714323","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"d8ce67fa6a5e6929f5414e933ff9665176c2bce6","versionType":"git"},{"version":"ded845a781a578dfb0b5b2c138e5a067aa3b1242","status":"affected","lessThan":"6d7f7bcf225b2d566176bf6229dbd1252940cb3c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ieee802154/ca8210.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.12","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ieee802154/ca8210.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/2c1664ccfae653979b38788211240b5a1ee317ed"},{"url":"https://git.kernel.org/stable/c/093aacb0c56d5c693e3169a0224062e77c3fd0c0"},{"url":"https://git.kernel.org/stable/c/87dab14a4f68895d6f4d798e6ee3556cd64e8c72"},{"url":"https://git.kernel.org/stable/c/1fe2643d0b24ca3cdd61a31a45c2d3233dc6cbfe"},{"url":"https://git.kernel.org/stable/c/65dc342274a01616f5c17105f7360a3b4bfd7a3d"},{"url":"https://git.kernel.org/stable/c/2059c28bd725beded01277cdf1f67be33e714323"},{"url":"https://git.kernel.org/stable/c/d8ce67fa6a5e6929f5414e933ff9665176c2bce6"},{"url":"https://git.kernel.org/stable/c/6d7f7bcf225b2d566176bf6229dbd1252940cb3c"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:07:12.985Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.10.261"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}