{"id":"CVE-2026-93813","revision":"0e10fbbe898f4993aa5bb90f29acb9b0","records":[{"revision":"0e10fbbe898f4993aa5bb90f29acb9b0","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-93813","aliases":[],"title":"btrfs: tree-checker: validate INODE_REF's namelen","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: tree-checker: validate INODE_REF's namelen\n\n[BUG]\nA crafted btrfs image can trigger the following crash:\n\n  BUG: unable to handle page fault for address: ffffd1dc42884000\n  #PF: supervisor write access in kernel mode\n  #PF: error_code(0x0002) - not-present page\n  CPU: 9 UID: 0 PID: 1034 Comm: poc Not tainted 7.1.0-rc4-custom+ #383 PREEMPT(full)  46af0a92938a63be7132e0dfd71e62327c51d5c2\n  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS unknown 02/02/2022\n  RIP: 0010:memcpy+0xc/0x10\n  Call Trace:\n   <TASK>\n   read_extent_buffer+0xe4/0x100 [btrfs 3cf0785dd58fec8c5ff84633b772f17ce1f92a8f]\n   btrfs_get_name+0x15e/0x1e0 [btrfs 3cf0785dd58fec8c5ff84633b772f17ce1f92a8f]\n   reconnect_path+0x165/0x390\n   exportfs_decode_fh_raw+0x337/0x400\n   ? drop_caches_sysctl_handler+0xb0/0xb0\n   </TASK>\n  ---[ end trace 0000000000000000 ]---\n  RIP: 0010:memcpy+0xc/0x10\n  Kernel panic - not syncing: Fatal exception\n\n[CAUSE]\nTThe crafted image has the following corrupted INODE_REF item:\n\n         item 9 key (258 INODE_REF 257) itemoff 11544 itemsize 4106\n         \tindex 2 namelen 4096 name: d\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\n\nThe itemsize matches the namelen, but the namelen is 4096, way larger\nthan normal name length limit (BTRFS_NAME_LEN, 255).\n\nMeanwhile the memory of the @name is only 255 byte sized, this will cause\nout-of-boundary access, and cause the above crash.\n\n[FIX]\nAdd extra namelen verification for INODE_REF, just like what we have\ndone in ROOT_REF checks.\n\nNow the crafted image can be rejected gracefully:\n\n BTRFS critical (device dm-2): corrupt leaf: root=5 block=30572544 slot=14 ino=259, invalid inode ref name length, has 4096 expect [1, 255]\n BTRFS error (device dm-2): read time tree block corruption detected on logical 30572544 mirror 2\n\n[ Rebase, add a Link: tag, add an simple cause analyze ]","state":0,"publishedAt":"2026-09-24T16:02:49.907+00:00","modifiedAt":"2026-10-03T10:57:45.809+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/btrfs/tree-checker.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2ede0daf01549cecf4bb0962c46dc47382047523\",\n                            \"lessThan\": \"60078a3e25c09d9d8fba828b0d81bb33e449a1b2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2ede0daf01549cecf4bb0962c46dc47382047523\",\n                            \"lessThan\": \"509d6a4d889e425f305461d8323a7b39ca6c121c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2ede0daf01549cecf4bb0962c46dc47382047523\",\n                            \"lessThan\": \"4cb41f07685f88ec724a375883bb0c731db8f6eb\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2ede0daf01549cecf4bb0962c46dc47382047523\",\n                            \"lessThan\": \"eeddee090b834a7d4b6a8214d2e3739e64c7a338\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2ede0daf01549cecf4bb0962c46dc47382047523\",\n                            \"lessThan\": \"8f75c19892263bc0555fba922aefe103e841e86d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2ede0daf01549cecf4bb0962c46dc47382047523\",\n                            \"lessThan\": \"3dc22abc21f5892406c09202fa2627196cc96967\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/btrfs/tree-checker.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2.6.37\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.6.37\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.222\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.189\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.158\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.111\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.53\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":7.8,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/60078a3e25c09d9d8fba828b0d81bb33e449a1b2","https://git.kernel.org/stable/c/509d6a4d889e425f305461d8323a7b39ca6c121c","https://git.kernel.org/stable/c/4cb41f07685f88ec724a375883bb0c731db8f6eb","https://git.kernel.org/stable/c/eeddee090b834a7d4b6a8214d2e3739e64c7a338","https://git.kernel.org/stable/c/8f75c19892263bc0555fba922aefe103e841e86d","https://git.kernel.org/stable/c/3dc22abc21f5892406c09202fa2627196cc96967"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-93813","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-93813","identifiers":["CVE-2026-93813"]},"retained":false,"historicalAffected":[]}],"coverage":[]}