🇰🇷 한글 설명
Python용 플랫폼 독립적 파일 잠금 라이브러리인 filelock의 ReadWriteLock 기능에서 발생하는 취약점입니다. 특정 버전(3.20.4 ~ 4.2.1)에서 조작된 SQLite 잠금 데이터베이스를 처리할 때 스키마 및 쿼리 작업에 대한 제한이 없어, 로컬 사용자가 데이터베이스를 교체하여 프로세스를 중단시키거나 멈추게 할 수 있습니다.
💡 쉬운 설명
파일을 잠그는 프로그램이 나쁜 의도로 만들어진 파일을 읽을 때 무한 루프에 빠지거나 멈춰버리는 문제입니다. 컴퓨터를 사용하는 다른 사람이 이 파일을 바꿔치기하면 프로그램이 작동을 멈추게 만들 수 있습니다.
🇺🇸 원문 (English)
filelock is a platform-independent file lock for Python. From 3.20.4 until 4.2.1, ReadWriteLock can open a crafted SQLite lock database without bounding schema and query work, allowing another local user who can replace the database to make acquisition stall or hang; versions from 3.20.4 expose this on initial per-instance opening, and versions from 3.30.0 repeat the exposure on every acquisition. This issue is fixed in version 4.2.1.
📍 영향받는 시스템
filelock 3.20.4 버전부터 4.2.1 미만 버전
⚔️ 공격 벡터
로컬 사용자가 조작된 SQLite 데이터베이스 파일을 시스템 내의 잠금 파일로 교체하여 공격
🛡️ 대응 방법
filelock 라이브러리를 4.2.1 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 3.20.4보다 크고 4.2.1보다 작은지 확인
pip show filelock | grep Version