🔍 CVE-2026-23465

5.5
CVSS Score
MEDIUM
2026-04-03
2026-10-30 13:18
✅ 완료

🇰🇷 한글 설명

btrfs 파일시스템에서 충돌하는 inode의 부모 디렉토리를 로깅할 때 새로운 디렉토리 항목들이 기록되지 않는 문제입니다. fsync 이후 전원 실패 시 디렉토리 항목이 손실되며, 부모 디렉토리가 로깅된 것으로 표시되어도 실제 내용은 기록되지 않습니다.

💡 쉬운 설명

Linux 파일시스템이 파일 저장을 완료한 것으로 잘못 인식해 전원 실패 시 새로 만든 폴더나 파일이 사라집니다. 특정 파일 작업 순서에서 저장 완료 신호가 제대로 기록되지 않기 때문입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: btrfs: log new dentries when logging parent dir of a conflicting inode If we log the parent directory of a conflicting inode, we are not logging the new dentries of the directory, so when we finish we have the parent directory's inode marked as logged but we did not log its new dentries. As a consequence if the parent directory is explicitly fsynced later and it does not have any new changes since we logged it, the fsync is a no-op and after a power failure the new dentries are missing. Example scenario: $ mkdir foo $ sync $rmdir foo $ mkdir dir1 $ mkdir dir2 # A file with the same name and parent as the directory we just deleted # and was persisted in a past transaction. So the deleted directory's # inode is a conflicting inode of this new file's inode. $ touch foo $ ln foo dir2/link # The fsync on dir2 will log the parent directory (".") because the # conflicting inode (deleted directory) does not exists anymore, but it # it does not log its new dentries (dir1). $ xfs_io -c "fsync" dir2 # This fsync on the parent directory is no-op, since the previous fsync # logged it (but without logging its new dentries). $ xfs_io -c "fsync" . <power failure> # After log replay dir1 is missing. Fix this by ensuring we log new dir dentries whenever we log the parent directory of a no longer existing conflicting inode. A test case for fstests will follow soon.

📍 영향받는 시스템

Linux kernel btrfs 파일시스템 (영향받는 정확한 버전은 명시되지 않음)

⚔️ 공격 벡터

로컬 사용자가 fsync() 시스템 호출을 이용한 정상적인 파일 작업 수행 중 발생

🛡️ 대응 방법

최신 Linux 커널로 업데이트하여 btrfs 로깅 관련 패치 적용

🔧 검증 코드

커널 버전을 확인하고 btrfs 파일시스템이 활성화되어 있는지 확인한 후, 해당 커널 버전에 관련 패치가 포함되었는지 공식 커널 릴리스 노트에서 확인합니다.

Shell / Script
uname -r && grep -i btrfs /proc/filesystems

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel