{"api_version":"1","generated_at":"2026-10-26T07:03:26+00:00","cve":"CVE-2026-97927","urls":{"html":"https://cve.report/CVE-2026-97927","api":"https://cve.report/api/cve/CVE-2026-97927.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-97927","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-97927"},"summary":{"title":"ufs: create the root dentry after loading cylinder metadata","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nufs: create the root dentry after loading cylinder metadata\n\nufs_fill_super() installed sb->s_root before it loaded the cylinder\ngroup structures for a writable mount:\n\n\tsb->s_root = d_make_root(inode);\n\t...\n\tif (!sb_rdonly(sb))\n\t\tif (!ufs_read_cylinder_structures(sb))\n\t\t\tgoto failed;\n\nWhen ufs_read_cylinder_structures() failed, the error path freed the\nin-core superblock information and set sb->s_fs_info to NULL while\nsb->s_root stayed installed. get_tree_bdev() then reached\ndeactivate_locked_super(), and because s_root was present,\ngeneric_shutdown_super() called sync_filesystem() and the put_super\noperation. Both dereference UFS_SB(sb), which is now NULL, so a mount\nthat fails only while reading the cylinder groups oopses during\nteardown. A crafted image whose first cylinder group cannot be read\nreaches this path.\n\nLoad the cylinder group metadata first and create the root dentry last,\nso the superblock is published to the VFS only once it is fully set up.\nufs_setup_cstotal() and ufs_read_cylinder_structures() take only the\nsuper_block and do not use the root inode, so the reordering is safe.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-25 11:17:19","updated_at":"2026-10-19 10:17:43"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/785e523b6c1931d802cab9f85912f3e6c7028af1","name":"https://git.kernel.org/stable/c/785e523b6c1931d802cab9f85912f3e6c7028af1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e58db6c2dce6e453dca26c3a4953002425201880","name":"https://git.kernel.org/stable/c/e58db6c2dce6e453dca26c3a4953002425201880","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/5cc48633fb76196b596a449ba1f4f642ad6125ce","name":"https://git.kernel.org/stable/c/5cc48633fb76196b596a449ba1f4f642ad6125ce","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/55a4c98abb9694b067c6a031d11501f06b6b523c","name":"https://git.kernel.org/stable/c/55a4c98abb9694b067c6a031d11501f06b6b523c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a9804121d55aaa4319c1cac00b99794aa177dd6a","name":"https://git.kernel.org/stable/c/a9804121d55aaa4319c1cac00b99794aa177dd6a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/cd21f1ff74b1c15077fa3b98e80da3b41055aae4","name":"https://git.kernel.org/stable/c/cd21f1ff74b1c15077fa3b98e80da3b41055aae4","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/05360c6eb8388bb5adac3c439ffb1512de39550a","name":"https://git.kernel.org/stable/c/05360c6eb8388bb5adac3c439ffb1512de39550a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8173e051a8acbb4ae6547be0436727944119e0b5","name":"https://git.kernel.org/stable/c/8173e051a8acbb4ae6547be0436727944119e0b5","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-97927","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97927","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 e58db6c2dce6e453dca26c3a4953002425201880 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 05360c6eb8388bb5adac3c439ffb1512de39550a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 5cc48633fb76196b596a449ba1f4f642ad6125ce git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 cd21f1ff74b1c15077fa3b98e80da3b41055aae4 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 a9804121d55aaa4319c1cac00b99794aa177dd6a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 785e523b6c1931d802cab9f85912f3e6c7028af1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 8173e051a8acbb4ae6547be0436727944119e0b5 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 55a4c98abb9694b067c6a031d11501f06b6b523c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.12","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.271 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.222 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.189 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.158 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.111 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.53 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.7 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"97927","cve":"CVE-2026-97927","epss":"0.002100000","percentile":"0.102610000","score_date":"2026-10-05","updated_at":"2026-10-06 00:14:18"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["fs/ufs/super.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"e58db6c2dce6e453dca26c3a4953002425201880","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"05360c6eb8388bb5adac3c439ffb1512de39550a","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"5cc48633fb76196b596a449ba1f4f642ad6125ce","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"cd21f1ff74b1c15077fa3b98e80da3b41055aae4","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"a9804121d55aaa4319c1cac00b99794aa177dd6a","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"785e523b6c1931d802cab9f85912f3e6c7028af1","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"8173e051a8acbb4ae6547be0436727944119e0b5","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"},{"lessThan":"55a4c98abb9694b067c6a031d11501f06b6b523c","status":"affected","version":"1da177e4c3f41524e886b7f1b8a0c1fc7321cac2","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["fs/ufs/super.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.12"},{"lessThan":"2.6.12","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.271","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.222","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.189","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.158","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.111","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.53","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.7","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.271","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.222","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.189","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.158","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.111","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.53","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.7","versionStartIncluding":"2.6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"2.6.12","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nufs: create the root dentry after loading cylinder metadata\n\nufs_fill_super() installed sb->s_root before it loaded the cylinder\ngroup structures for a writable mount:\n\n\tsb->s_root = d_make_root(inode);\n\t...\n\tif (!sb_rdonly(sb))\n\t\tif (!ufs_read_cylinder_structures(sb))\n\t\t\tgoto failed;\n\nWhen ufs_read_cylinder_structures() failed, the error path freed the\nin-core superblock information and set sb->s_fs_info to NULL while\nsb->s_root stayed installed. get_tree_bdev() then reached\ndeactivate_locked_super(), and because s_root was present,\ngeneric_shutdown_super() called sync_filesystem() and the put_super\noperation. Both dereference UFS_SB(sb), which is now NULL, so a mount\nthat fails only while reading the cylinder groups oopses during\nteardown. A crafted image whose first cylinder group cannot be read\nreaches this path.\n\nLoad the cylinder group metadata first and create the root dentry last,\nso the superblock is published to the VFS only once it is fully set up.\nufs_setup_cstotal() and ufs_read_cylinder_structures() take only the\nsuper_block and do not use the root inode, so the reordering is safe."}],"providerMetadata":{"dateUpdated":"2026-10-19T09:10:54.225Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/e58db6c2dce6e453dca26c3a4953002425201880"},{"url":"https://git.kernel.org/stable/c/05360c6eb8388bb5adac3c439ffb1512de39550a"},{"url":"https://git.kernel.org/stable/c/5cc48633fb76196b596a449ba1f4f642ad6125ce"},{"url":"https://git.kernel.org/stable/c/cd21f1ff74b1c15077fa3b98e80da3b41055aae4"},{"url":"https://git.kernel.org/stable/c/a9804121d55aaa4319c1cac00b99794aa177dd6a"},{"url":"https://git.kernel.org/stable/c/785e523b6c1931d802cab9f85912f3e6c7028af1"},{"url":"https://git.kernel.org/stable/c/8173e051a8acbb4ae6547be0436727944119e0b5"},{"url":"https://git.kernel.org/stable/c/55a4c98abb9694b067c6a031d11501f06b6b523c"}],"title":"ufs: create the root dentry after loading cylinder metadata","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-97927","datePublished":"2026-09-25T10:22:44.834Z","dateReserved":"2026-09-25T10:18:58.203Z","dateUpdated":"2026-10-19T09:10:54.225Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-25 11:17:19","lastModifiedDate":"2026-10-19 10:17:43","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"97927","Ordinal":"1","Title":"ufs: create the root dentry after loading cylinder metadata","CVE":"CVE-2026-97927","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"97927","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nufs: create the root dentry after loading cylinder metadata\n\nufs_fill_super() installed sb->s_root before it loaded the cylinder\ngroup structures for a writable mount:\n\n\tsb->s_root = d_make_root(inode);\n\t...\n\tif (!sb_rdonly(sb))\n\t\tif (!ufs_read_cylinder_structures(sb))\n\t\t\tgoto failed;\n\nWhen ufs_read_cylinder_structures() failed, the error path freed the\nin-core superblock information and set sb->s_fs_info to NULL while\nsb->s_root stayed installed. get_tree_bdev() then reached\ndeactivate_locked_super(), and because s_root was present,\ngeneric_shutdown_super() called sync_filesystem() and the put_super\noperation. Both dereference UFS_SB(sb), which is now NULL, so a mount\nthat fails only while reading the cylinder groups oopses during\nteardown. A crafted image whose first cylinder group cannot be read\nreaches this path.\n\nLoad the cylinder group metadata first and create the root dentry last,\nso the superblock is published to the VFS only once it is fully set up.\nufs_setup_cstotal() and ufs_read_cylinder_structures() take only the\nsuper_block and do not use the root inode, so the reordering is safe.","Type":"Description","Title":"ufs: create the root dentry after loading cylinder metadata"}]}}}