
CVE-2021-3493에 대한 기술적 분석, 우분투 OverlayFS 로컬 권한 상승 취약점으로, 근본 원인 설명과 영향을 받는 버전을 포함합니다.
한 줄 요약
OverlayFS의 취약점으로 인해 Ubuntu의 로컬 사용자가 루트 권한을 획득할 수 있는 방법을 알아보십시오.
취약점 요약
Linux 커널의 overlayfs 파일 시스템에서, 사용자 네임스페이스에 대한 파일 시스템 캐퍼빌리티 적용을 제대로 검증하지 못하는 Ubuntu 특유의 문제가 있었습니다. Ubuntu에서 권한 없는 overlayfs 마운트를 허용하기 위해 포함된 패치로 인해, 로컬 공격자가 이를 이용해 상승된 권한을 얻을 수 있었습니다.
CVE-2021-3493
신고자
독립적인 보안 연구원이 이 취약점을 SSD Secure Disclosure 프로그램에 보고했습니다.
영향받는 버전
Ubuntu 20.10
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS
Ubuntu 16.04 LTS
Ubuntu 14.04 ESM
공급업체 응답
“오늘 이 문제에 대한 보안 권고를 다음에 게시했습니다.
https://ubuntu.com/security/notices/USN-4915-1 https://ubuntu.com/security/notices/USN-4916-1 https://ubuntu.com/security/notices/USN-4917-1
또한 CVE 추적기에서 이 문제를 공개했습니다:
https://ubuntu.com/security/CVE-2021-3493
다음은 oss-security 메일링 리스트에 전송된 메시지의 내용입니다: https://www.openwall.com/lists/oss-security/2021/04/16/1
취약점 분석
Linux는 setuid-bit와 유사하게 작동하지만 더 세밀하게 제어할 수 있는, 확장 파일 속성에 저장된 파일 캐퍼빌리티를 지원합니다. 의사 코드로 파일 캐퍼빌리티를 설정하는 간단한 절차는 다음과 같습니다: setxattr(...): if cap_convert_nscap(...) is not OK: then fail vfs_setxattr(...)
중요한 호출은 네임스페이스에 대한 권한을 확인하는 cap_convert_nscap입니다.
자체 네임스페이스와 자체 마운트에서 파일 캐퍼빌리티를 설정하는 경우에는 문제가 없으며 이를 수행할 권한이 있습니다. 문제는 OverlayFS가 이 작업을 하위 파일 시스템으로 전달할 때 vfs_setxattr만 호출하고 cap_convert_nscap의 검사를 건너뛴다는 것입니다.
이로 인해 외부 네임스페이스/마운트의 파일에 임의의 캐퍼빌리티를 설정할 수 있으며, 실행 중에도 적용됩니다.
Linux 5.11에서는 cap_convert_nscap 호출이 vfs_setxattr로 이동되어 더 이상 취약하지 않습니다.