🇰🇷 한글 설명
Windows 호스트에서 실행되는 1.54.0 미만 버전의 Streamlit 오픈소스에 인증되지 않은 SSRF 취약점이 존재합니다. 공격자가 조작된 UNC 경로를 입력하면 서버가 외부 SMB 연결을 시도하게 되어, 실행 중인 사용자의 NTLMv2 자격 증명이 유출되거나 NTLM 릴레이 공격에 노출될 수 있습니다.
💡 쉬운 설명
해커가 특수한 주소를 입력하면 내 컴퓨터가 해커의 서버에 몰래 접속을 시도하게 만드는 보안 약점입니다. 이 과정에서 사용자의 로그인 정보가 해커에게 전달되거나 내부 네트워크가 공격받을 위험이 있습니다.
🇺🇸 원문 (English)
Streamlit is a data oriented application development framework for python. Streamlit Open Source versions prior to 1.54.0 running on Windows hosts have an unauthenticated Server-Side Request Forgery (SSRF) vulnerability. The vulnerability arises from improper validation of attacker-supplied filesystem paths. In certain code paths, including within the `ComponentRequestHandler`, filesystem paths are resolved using `os.path.realpath()` or `Path.resolve()` before sufficient validation occurs. On Windows systems, supplying a malicious UNC path (e.g., `\\attacker-controlled-host\share`) can cause the Streamlit server to initiate outbound SMB connections over port 445. When Windows attempts to authenticate to the remote SMB server, NTLMv2 challenge-response credentials of the Windows user running the Streamlit process may be transmitted. This behavior may allow an attacker to perform NTLM relay attacks against other internal services and/or identify internally reachable SMB hosts via timing analysis. The vulnerability has been fixed in Streamlit Open Source version 1.54.0.
📍 영향받는 시스템
Streamlit Open Source versions prior to 1.54.0 running on Windows
⚔️ 공격 벡터
조작된 UNC 경로(예: \\attacker-host\share)를 통한 SMB 연결 유도 및 NTLM 자격 증명 탈취
🛡️ 대응 방법
Streamlit Open Source 버전을 1.54.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 1.54.0 미만이면 취약한 상태입니다.
pip show streamlit | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server