Linux 가상 파일 시스템(VFS)에 중요한 수정 사항이 도입되어, 약 5년 동안 지속된 버그를 해결하였습니다. 이 취약점으로 인해 권한이 있는 사용자가 대부분의 파일 시스템을 비초기 사용자 네임스페이스로 마운트할 수 있었고, 이로 인해 보안 취약성, 디스크 데이터 손상 또는 커널 충돌 등 다양한 문제가 발생할 수 있었습니다.
이 문제는 fsopen() 함수가 비초기 네임스페이스에서 호출될 때 발생합니다. fsopen() 함수는 호출자의 네임스페이스를 fs_context->user_ns에 기록하는데, 이렇게 생성된 파일 설명자가 init_user_ns에 권한이 있는 프로세스에 의해 사용되면 잘못된 사용자 네임스페이스로 새 슈퍼블록을 생성할 수 있습니다. 이는 FS_USERNS_MOUNT를 명시적으로 지원하는 파일 시스템만이 비초기 s_user_ns를 안전하게 처리하도록 설계되었기 때문에 특히 위험합니다. 이번 수정 사항은 이러한 작업의 위임을 FS_USERNS_MOUNT를 허용하는 파일 시스템으로만 제한하여 잠재적인 악용을 방지합니다.
이 버그 수정은 권한이 있는 프로세스가 원산지를 알 수 없는 파일 설명자로 작업하여 발생할 수 있는 심각한 보안 침해 또는 시스템 불안정을 완화하는 데 매우 중요합니다. 이 수정 사항이 갖는 의미는 여러 사용자 네임스페이스를 활용하는 환경에서 Linux 시스템의 안정성과 보안성 향상에 크게 기여할 것으로 보입니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.