🇰🇷 한글 설명
Python의 filelock 라이브러리 4.1.0부터 4.2.1 버전 사이의 ReadWriteLock 기능에서 발생하는 취약점입니다. 정리 과정 중 무작위로 생성된 .filelock-* 디렉토리를 삭제할 때, 로컬 사용자가 디렉토리 이름을 가로채거나 조작하여 의도하지 않은 디렉토리를 삭제할 수 있습니다.
💡 쉬운 설명
파일을 잠그는 과정에서 임시 폴더를 지울 때, 나쁜 의도를 가진 다른 사용자가 폴더 이름을 바꿔치기하여 중요한 폴더를 실수로 지우게 만들 수 있는 문제입니다. 컴퓨터 내부의 다른 사용자가 파일을 조작할 수 있는 환경에서 위험합니다.
🇺🇸 원문 (English)
filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, ReadWriteLock can remove a randomized .filelock-* private-hard-link directory during cleanup, allowing another local user with rename access in a non-sticky parent to observe a live name or forge a dead-owner sweep name and rename a sibling directory onto it for deletion. This issue is fixed in version 4.2.1.
📍 영향받는 시스템
Python filelock library versions 4.1.0 to 4.2.1
⚔️ 공격 벡터
로컬 권한을 가진 사용자가 비스티키(non-sticky) 부모 디렉토리에서 파일 이름을 변경하여 삭제 프로세스를 악용함
🛡️ 대응 방법
filelock 라이브러리를 4.2.1 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.1.0 이상 4.2.1 이하인지 확인하십시오.
pip show filelock | grep Version