{"api_version":"1","generated_at":"2026-08-02T13:38:14+00:00","cve":"CVE-2026-64267","urls":{"html":"https://cve.report/CVE-2026-64267","api":"https://cve.report/api/cve/CVE-2026-64267.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64267","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64267"},"summary":{"title":"fuse: avoid 32-bit prune notification count wrap","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: avoid 32-bit prune notification count wrap\n\nFUSE_NOTIFY_PRUNE validates the nodeid payload length with:\n\n    size - sizeof(outarg) != outarg.count * sizeof(u64)\n\nOn 32-bit kernels, size_t is also 32 bits, so the daemon-controlled\ncount multiplication can wrap.  A prune notification with count\n0x20000000 and no nodeid payload passes the check, enters the copy\nloop, and asks the device copy path to read nodeids that are not\npresent in the userspace write buffer.  In QEMU this reaches the\nfuse_copy_fill() BUG_ON(!err) path.\n\nValidate the payload length with array_size() instead.  That accepts\nexactly the same valid messages, but avoids wrapping arithmetic before\nthe copy loop consumes the count.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-25 10:17:06","updated_at":"2026-07-30 15:00:27"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/54243797cedf55447b4c5d560e8cd709900061ae","name":"https://git.kernel.org/stable/c/54243797cedf55447b4c5d560e8cd709900061ae","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c78c4b242299bc581e4987e5c2786c6f4760c516","name":"https://git.kernel.org/stable/c/c78c4b242299bc581e4987e5c2786c6f4760c516","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6e2d84fdeac05bfd858e84a76353fdb84f23a43e","name":"https://git.kernel.org/stable/c/6e2d84fdeac05bfd858e84a76353fdb84f23a43e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64267","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64267","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3f29d59e92a96d843c2ff10ebfed92ac26878658 6e2d84fdeac05bfd858e84a76353fdb84f23a43e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3f29d59e92a96d843c2ff10ebfed92ac26878658 c78c4b242299bc581e4987e5c2786c6f4760c516 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3f29d59e92a96d843c2ff10ebfed92ac26878658 54243797cedf55447b4c5d560e8cd709900061ae git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.39 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.4 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"64267","cve":"CVE-2026-64267","epss":"0.001980000","percentile":"0.098410000","score_date":"2026-08-01","updated_at":"2026-08-02 00:11:13"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["fs/fuse/dev.c","fs/fuse/notify.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"6e2d84fdeac05bfd858e84a76353fdb84f23a43e","status":"affected","version":"3f29d59e92a96d843c2ff10ebfed92ac26878658","versionType":"git"},{"lessThan":"c78c4b242299bc581e4987e5c2786c6f4760c516","status":"affected","version":"3f29d59e92a96d843c2ff10ebfed92ac26878658","versionType":"git"},{"lessThan":"54243797cedf55447b4c5d560e8cd709900061ae","status":"affected","version":"3f29d59e92a96d843c2ff10ebfed92ac26878658","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["fs/fuse/dev.c","fs/fuse/notify.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.18"},{"lessThan":"6.18","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.39","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.4","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.39","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.4","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"6.18","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: avoid 32-bit prune notification count wrap\n\nFUSE_NOTIFY_PRUNE validates the nodeid payload length with:\n\n    size - sizeof(outarg) != outarg.count * sizeof(u64)\n\nOn 32-bit kernels, size_t is also 32 bits, so the daemon-controlled\ncount multiplication can wrap.  A prune notification with count\n0x20000000 and no nodeid payload passes the check, enters the copy\nloop, and asks the device copy path to read nodeids that are not\npresent in the userspace write buffer.  In QEMU this reaches the\nfuse_copy_fill() BUG_ON(!err) path.\n\nValidate the payload length with array_size() instead.  That accepts\nexactly the same valid messages, but avoids wrapping arithmetic before\nthe copy loop consumes the count."}],"providerMetadata":{"dateUpdated":"2026-07-25T08:49:15.720Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/6e2d84fdeac05bfd858e84a76353fdb84f23a43e"},{"url":"https://git.kernel.org/stable/c/c78c4b242299bc581e4987e5c2786c6f4760c516"},{"url":"https://git.kernel.org/stable/c/54243797cedf55447b4c5d560e8cd709900061ae"}],"title":"fuse: avoid 32-bit prune notification count wrap","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64267","datePublished":"2026-07-25T08:49:15.720Z","dateReserved":"2026-07-19T15:36:31.775Z","dateUpdated":"2026-07-25T08:49:15.720Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-25 10:17:06","lastModifiedDate":"2026-07-30 15:00:27","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64267","Ordinal":"1","Title":"fuse: avoid 32-bit prune notification count wrap","CVE":"CVE-2026-64267","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64267","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: avoid 32-bit prune notification count wrap\n\nFUSE_NOTIFY_PRUNE validates the nodeid payload length with:\n\n    size - sizeof(outarg) != outarg.count * sizeof(u64)\n\nOn 32-bit kernels, size_t is also 32 bits, so the daemon-controlled\ncount multiplication can wrap.  A prune notification with count\n0x20000000 and no nodeid payload passes the check, enters the copy\nloop, and asks the device copy path to read nodeids that are not\npresent in the userspace write buffer.  In QEMU this reaches the\nfuse_copy_fill() BUG_ON(!err) path.\n\nValidate the payload length with array_size() instead.  That accepts\nexactly the same valid messages, but avoids wrapping arithmetic before\nthe copy loop consumes the count.","Type":"Description","Title":"fuse: avoid 32-bit prune notification count wrap"}]}}}