{"id":"CVE-2026-80946","state":"PUBLISHED","title":"fuse: copy request headers via a stack buffer for io-uring","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: copy request headers via a stack buffer for io-uring\n\nThe fuse-io-uring transport copies req->in.h out to the ring in\nfuse_uring_copy_to_ring() and req->out.h back in fuse_uring_commit().\nBoth headers live inside the fuse_request slab object, whose cache\n(fuse_req_cachep) is created without a usercopy whitelist, so copying\nthem directly to/from userspace trips CONFIG_HARDENED_USERCOPY and\npanics:\n\n  usercopy: Kernel memory exposure attempt detected from SLUB object\n  'fuse_request' (offset 56, size 40)!\n  kernel BUG at mm/usercopy.c:102!\n  Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI\n  RIP: 0010:usercopy_abort (mm/usercopy.c:90)\n  Call Trace:\n   __check_heap_object (mm/slub.c:8268)\n   __check_object_size (mm/usercopy.c:197 mm/usercopy.c:258 mm/usercopy.c:223)\n   copy_header_to_ring (fs/fuse/dev_uring.c:618)\n   fuse_uring_prepare_send (fs/fuse/dev_uring.c:776 fs/fuse/dev_uring.c:785)\n   fuse_uring_send_in_task (fs/fuse/dev_uring.c:1306)\n   tctx_task_work_run (io_uring/tw.c:96)\n   task_work_run (kernel/task_work.c:233)\n   io_run_task_work (io_uring/tw.h:84)\n   io_cqring_wait (io_uring/wait.c:278)\n   __do_sys_io_uring_enter (io_uring/io_uring.c:2685)\n   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)\n\nBounce both headers through an on-stack copy so the usercopy touches\nstack memory, not the slab object.","publishedAt":"2026-09-11T19:42:17.576Z","updatedAt":"2026-10-19T08:45:30.291Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"c090c8abae4b6b77a1bee116aa6c385456ebef96","status":"affected","lessThan":"194d0fb0ea4720535ff3168c9d04c7632cec7071","versionType":"git"},{"version":"c090c8abae4b6b77a1bee116aa6c385456ebef96","status":"affected","lessThan":"a47a416ff68d706dc3327ab583f86b9ee757358b","versionType":"git"},{"version":"c090c8abae4b6b77a1bee116aa6c385456ebef96","status":"affected","lessThan":"fd10f40af314f07b6d6e028b1ca25c8b49903aab","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/fuse/dev_uring.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.18.51","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","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":["fs/fuse/dev_uring.c"]}],"references":["https://git.kernel.org/stable/c/194d0fb0ea4720535ff3168c9d04c7632cec7071","https://git.kernel.org/stable/c/a47a416ff68d706dc3327ab583f86b9ee757358b","https://git.kernel.org/stable/c/fd10f40af314f07b6d6e028b1ca25c8b49903aab"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80946.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80946","state":"PUBLISHED","datePublished":"2026-09-11T19:42:17.576Z","dateUpdated":"2026-10-19T08:45:30.291Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-26T14:34:25.803Z"},"containers":{"cna":{"title":"fuse: copy request headers via a stack buffer for io-uring","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: copy request headers via a stack buffer for io-uring\n\nThe fuse-io-uring transport copies req->in.h out to the ring in\nfuse_uring_copy_to_ring() and req->out.h back in fuse_uring_commit().\nBoth headers live inside the fuse_request slab object, whose cache\n(fuse_req_cachep) is created without a usercopy whitelist, so copying\nthem directly to/from userspace trips CONFIG_HARDENED_USERCOPY and\npanics:\n\n  usercopy: Kernel memory exposure attempt detected from SLUB object\n  'fuse_request' (offset 56, size 40)!\n  kernel BUG at mm/usercopy.c:102!\n  Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI\n  RIP: 0010:usercopy_abort (mm/usercopy.c:90)\n  Call Trace:\n   __check_heap_object (mm/slub.c:8268)\n   __check_object_size (mm/usercopy.c:197 mm/usercopy.c:258 mm/usercopy.c:223)\n   copy_header_to_ring (fs/fuse/dev_uring.c:618)\n   fuse_uring_prepare_send (fs/fuse/dev_uring.c:776 fs/fuse/dev_uring.c:785)\n   fuse_uring_send_in_task (fs/fuse/dev_uring.c:1306)\n   tctx_task_work_run (io_uring/tw.c:96)\n   task_work_run (kernel/task_work.c:233)\n   io_run_task_work (io_uring/tw.h:84)\n   io_cqring_wait (io_uring/wait.c:278)\n   __do_sys_io_uring_enter (io_uring/io_uring.c:2685)\n   entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)\n\nBounce both headers through an on-stack copy so the usercopy touches\nstack memory, not the slab object."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"c090c8abae4b6b77a1bee116aa6c385456ebef96","status":"affected","lessThan":"194d0fb0ea4720535ff3168c9d04c7632cec7071","versionType":"git"},{"version":"c090c8abae4b6b77a1bee116aa6c385456ebef96","status":"affected","lessThan":"a47a416ff68d706dc3327ab583f86b9ee757358b","versionType":"git"},{"version":"c090c8abae4b6b77a1bee116aa6c385456ebef96","status":"affected","lessThan":"fd10f40af314f07b6d6e028b1ca25c8b49903aab","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/fuse/dev_uring.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.14","versionType":"semver"},{"version":"6.18.51","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","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":["fs/fuse/dev_uring.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/194d0fb0ea4720535ff3168c9d04c7632cec7071"},{"url":"https://git.kernel.org/stable/c/a47a416ff68d706dc3327ab583f86b9ee757358b"},{"url":"https://git.kernel.org/stable/c/fd10f40af314f07b6d6e028b1ca25c8b49903aab"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:45:30.291Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"6.18.51"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"7.2.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.14","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}