🇰🇷 한글 설명
Starlette 1.0.1 및 이전 버전의 Windows 환경에서 StaticFiles 기능이 SSRF 취약점을 가지고 있습니다. 공격자가 UNC 경로를 입력하면 os.path.realpath가 SMB 연결을 시도하여 서비스 계정의 NTLMv2 자격 증명이 노출될 수 있습니다. 이 문제는 FastAPI를 포함한 Starlette 기반 프레임워크에 영향을 미치며, 1.1.0 버전에서 수정되었습니다.
💡 쉬운 설명
윈도우 운영체제에서 특정 웹 프레임워크를 사용할 때, 공격자가 가짜 네트워크 주소를 입력하면 서버의 비밀번호 정보가 유출될 수 있는 문제입니다. 이를 통해 공격자는 서버의 권한을 탈취하거나 정보를 훔쳐갈 수 있습니다.
🇺🇸 원문 (English)
Starlette is a lightweight ASGI framework/toolkit. In versions 1.0.1 and earlier, StaticFiles on Windows is vulnerable to SSRF. An UNC path such as \\attacker.com\share can cause os.path.realpath to initiate an outbound SMB connection before the path is rejected, exposing the service account’s NTLMv2 credentials for offline cracking or relay even though the HTTP response is only a 404. The issue affects default follow_symlink=False deployments, including frameworks built on Starlette such as FastAPI; POSIX systems and follow_symlink=True are unaffected. The issue is fixed in 1.1.0.
📍 영향받는 시스템
Starlette 1.0.1 이하 버전 (Windows 환경 및 FastAPI 포함)
⚔️ 공격 벡터
공격자가 UNC 경로(\attacker.com arget)를 포함한 요청을 보내 서버가 SMB 연결을 시도하도록 유도
🛡️ 대응 방법
Starlette를 1.1.0 이상의 버전으로 업데이트
🔧 검증 코드
출력된 버전이 1.1.0 미만이면 취약한 상태이며, 1.1.0 이상이면 안전합니다.
pip show starlette | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
💻 영향받는 소프트웨어
Storage Protect Snapshot for Windows