🔍 CVE-2026-28684

6.6
CVSS Score
MEDIUM
2026-04-20
2026-04-27 13:44
✅ 완료

🇰🇷 한글 설명

python-dotenv 1.2.2 이전 버전의 set_key()와 unset_key() 함수가 .env 파일 수정 시 심볼릭 링크를 검증하지 않아, 로컬 공격자가 조작된 링크를 통해 임의의 파일을 덮어쓸 수 있습니다. 교차 디바이스 이름 변경이 발생할 때 취약점이 활성화됩니다.

💡 쉬운 설명

python-dotenv 라이브러리가 .env 파일을 수정할 때 심볼릭 링크를 따라가서, 로컬 사용자가 다른 파일들을 의도하지 않게 덮어쓸 수 있습니다. 공격자는 링크를 설정하여 중요 파일을 변조할 수 있습니다.

🇺🇸 원문 (English)

python-dotenv reads key-value pairs from a .env file and can set them as environment variables. Prior to version 1.2.2, `set_key()` and `unset_key()` in python-dotenv follow symbolic links when rewriting `.env` files, allowing a local attacker to overwrite arbitrary files via a crafted symlink when a cross-device rename fallback is triggered. Users should upgrade to v.1.2.2 or, as a workaround, apply the patch manually.

📍 영향받는 시스템

python-dotenv < 1.2.2 (set_key, unset_key 함수 사용)

⚔️ 공격 벡터

로컬 공격자가 .env 파일 경로에 심볼릭 링크 생성 후 애플리케이션의 키 수정 함수 호출로 임의 파일 덮어쓰기

🛡️ 대응 방법

python-dotenv를 1.2.2 이상으로 업그레이드 또는 공식 패치 수동 적용

🔧 검증 코드

출력된 버전 번호가 1.2.2 이상이면 안전, 미만이면 즉시 업그레이드 필요

Shell / Script
pip show python-dotenv | grep Version || python -c "import dotenv; print(dotenv.__version__)"

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H

💻 영향받는 소프트웨어

Python