CVE-2026-99084 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 23.

리눅스 커널에서 다음 취약점이 해결되었습니다:

readdir: 불변 디렉토리에 대해 inode 잠금을 사용하지 않음

iterate_dir()은 디렉토리의 i_rwsem 공유 잠금을 획득하고 ->iterate_shared() 전체 동안 이를 유지합니다. 엔트리가 없고 제거되지 않는 디렉토리의 경우, 이 잠금은 아무것도 고정하지 않으며 해당 inode의 모든 읽기 작업과 쓰기 작업을 순서대로 대기시킵니다.

이는 nullfs 인스턴스의 디렉토리에서 중요합니다. 초기 마운트 네임스페이스의 인스턴스는 모든 빈 마운트 네임스페이스의 루트이며, 프라이빗 인스턴스는 모든 커널 스레드의 루트이므로 하나의 inode가 공통점이 없는 사용자들 간에 공유됩니다. 그리고 읽기 작업자는 원하는 만큼 잠금을 보유할 수 있습니다: FUSE 마운트의 파일 매핑으로 getdents() 버퍼를 백업하고 "." 및 ".." 사본의 페이지 폴트를 발생시켜 서버가 대기하도록 하십시오. 그 뒤에 배타적 잠금 획득자를 큐에 추가하면, 해당 디렉토리에서의 mkdir()은 읽기 전용 마운트가 보고되기 전에 start_dirop()을 통과합니다. 이후에는 dcache에서 일치하지 않는 모든 조회와 해당 디렉토리에서의 모든 생성 및 모든 마운트 작업이 서버가 응답할 때까지 대기하게 됩니다. 빈 마운트 네임스페이스의 한 사용자가 다른 모든 사용자를 차단(stall)시킵니다.

변경되지 않고 제거되지 않는 디렉토리의 파일 연산에 FOP_IMMUTABLE을 추가하고, iterate_dir()에서 해당 잠금을 건너뛰도록 합니다. 이 플래그는 파일에서는 변경되지 않으며, ->f_pos는 directories가 FMODE_ATOMIC_POS이므로 f_pos_lock으로 보호됩니다. IS_DEADDIR은 이러한 디렉토리에는 설정될 수 없으며 touch_atime()이나 fsnotify도 i_rwsem을 사용하지 않습니다. nullfs 디렉토리에 이를 설정합니다. libfs의 플레이스홀더 디렉토리에도 엔트리가 없지만, 해당 소유자가 이를 제거하므로 잠금을 유지하게 됩니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-425809

EPSS

0.00000

출처

Do you know our Splunk app?

Download it now for free!