CVE-2026-97927 in Linux
요약
\~에 의해 VulDB • 2026. 09. 25.
Linux 커널에서 다음 취약점이 해결되었습니다:
ufs: 실린더 메타데이터 로드 후 루트 dentry 생성
ufs_fill_super()는 쓰기 가능한 마운트의 경우 실린더 그룹 구조체를 로드하기 전에 sb->s_root를 설치했습니다:
sb->s_root = d_make_root(inode); ... if (!sb_rdonly(sb)) if (!ufs_read_cylinder_structures(sb)) goto failed;
ufs_read_cylinder_structures()가 실패할 경우, 에러 경로에서 인메모리 슈퍼블록 정보가 해제되고 sb->s_fs_info가 NULL로 설정되는 동안 sb->s_root는 설치된 상태로 유지되었습니다. 그 후 get_tree_bdev()은 deactivate_locked_super()에 도달했고, s_root가 존재했기 때문에 generic_shutdown_super()이 sync_filesystem()과 put_super 연산을 호출했습니다. 둘 다 이제 NULL인 UFS_SB(sb)를 역참조하므로, 실린더 그룹 읽는 도중에만 실패하는 마운트는 정리(teardown) 단계에서 oops(커널 패닉/오류)를 발생시킵니다. 첫 번째 실린더 그룹을 읽을 수 없는 조작된 이미지가 이 경로에 도달합니다.
실린더 그룹 메타데이터를 먼저 로드하고 루트 dentry는 마지막으로 생성하여, 슈퍼블록이 완전히 설정될 때까지 VFS(Virtual File System)에 게시되지 않도록 합니다. ufs_setup_cstotal()과 ufs_read_cylinder_structures()는 super_block만 인자로 받으며 루트 inode를 사용하지 않으므로, 순서 변경은 안전합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.