🇰🇷 한글 설명
Python의 filelock 라이브러리 3.20.4부터 4.2.1 버전 사이의 ReadWriteLock 기능에서 SQLite 데이터베이스 및 사이드 파일을 이름으로 다시 여는 취약점이 발견되었습니다. POSIX 시스템에서 공격자가 부모 디렉토리에 이름 변경 권한이 있을 경우, 파일 이름을 교체하여 덮어쓰기나 삭제 작업을 유도할 수 있습니다.
💡 쉬운 설명
파일을 잠그는 프로그램의 허점을 이용해, 공격자가 중요한 데이터베이스 파일의 이름을 바꿔치기할 수 있는 문제입니다. 이를 통해 시스템의 파일을 마음대로 지우거나 다른 내용으로 덮어쓸 위험이 있습니다.
🇺🇸 원문 (English)
filelock is a platform-independent file lock for Python. From 3.20.4 until 4.2.1, ReadWriteLock let SQLite reopen the database and side files by name; on POSIX systems an attacker with rename access in a non-sticky parent can swap those names to cause overwrite or unlink operations, while a writable adjacent hot journal is additionally required for attacker-chosen content overwrites. This issue is fixed in version 4.2.1.
📍 영향받는 시스템
Python filelock library (versions 3.20.4 to 4.2.1)
⚔️ 공격 벡터
POSIX 시스템에서 부모 디렉토리의 이름 변경 권한을 이용한 파일 이름 교체 및 SQLite 파일 조작
🛡️ 대응 방법
filelock 라이브러리를 버전 4.2.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 4.2.1 미만(3.20.4 ~ 4.2.0)이면 취약한 상태입니다.
pip show filelock | grep Version