🔍 CVE-2026-98990

0.0
CVSS Score
UNKNOWN
2026-10-23
2026-10-23 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 마운트 네임스페이스 코드에서, shrink_submounts()와 mark_mounts_for_expiry()가 언마운트 대상을 먼저 모은 뒤 일괄 해제하는 과정에서, 한 마운트를 해제하면서 트리가 바뀌어 다른 마운트가 사용 중인지 확인되지 않은 채 해제되는 문제가 수정되었습니다. 수정으로 각 마운트를 해제 직전에 참조 여부를 다시 확인하도록 변경되었습니다.

💡 쉬운 설명

여러 파일 시스템 마운트를 한꺼번에 해제하는 과정에서, 다른 곳에서 사용 중인 마운트가 잘못 분리될 수 있는 결함이었습니다. 이제 각 마운트를 해제하기 직전에 사용 여부를 다시 확인하도록 고쳐졌습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: namespace: check a submount for references right before unmounting it shrink_submounts() and mark_mounts_for_expiry() first collect all the mounts they are allowed to unmount and then unmount them. Whether a mount is busy is decided by propagate_mount_busy() on the tree. But unmounting the first mount changes the tree that the second one propagates into. propagate_umount() moves a surviving overmount off a copy it unmounts and mounts it where the copy was mounted. If that's where the propagated copy of the second victim is looked up the overmount becomes a candidate of the second umount_tree(). It's childless and so trim_one() commits it without looking at its reference count. So a synchronous umount pulls out a busy mount that is in use somewhere else and marks it MNT_SYNC_UMOUNT while it has users: umount2(/tmp/plshrink/p1, 0) = 0 errno 0 cwd is (unreachable) The same two umounts requested one after the other fail with EBUSY. This needs a mount with MNT_SHRINKABLE, i.e., automounted submounts of NFS, AFS and CIFS or the tracefs mount below debugfs. Bind mounts inherit the flag. Check each mount right before it is unmounted under the same hold of namespace_sem and mount_lock as the umount itself. Make sure that the algorithm stays linear.

📍 영향받는 시스템

수정 이전의 Linux 커널 (MNT_SHRINKABLE 플래그를 쓰는 NFS, AFS, CIFS 자동 마운트 및 tracefs 사용 환경)

⚔️ 공격 벡터

권한이 있는 로컬 사용자가 특정 마운트 구조를 만들고 연속적으로 umount를 호출해 사용 중인 마운트를 강제로 분리하는 방식으로 서비스 방해를 일으킬 수 있습니다.

🛡️ 대응 방법

배포판에서 제공하는 수정된 커널 패키지로 업데이트하고 재부팅하십시오.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지에서 해당 CVE 수정이 포함된 빌드와 비교하여, 같거나 그 이후 버전이면 패치된 것입니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel