🇰🇷 한글 설명
Spring Boot 언어 서버가 외부 HTTP 클라이언트를 생성할 때 설정된 프록시 환경 변수 값을 로그에 그대로 기록하는 취약점입니다. 기업용 프록시 URL에 포함된 사용자 이름과 비밀번호가 필터링 없이 로그 파일에 남게 되어 자격 증명이 노출될 수 있습니다.
💡 쉬운 설명
프로그램이 작동하면서 남기는 기록 파일에 회사 네트워크 접속용 아이디와 비밀번호가 글자 그대로 적히는 문제입니다. 이 기록 파일을 다른 사람이 보게 되면 보안 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
The Spring Boot language server logs the raw value of the https_proxy/HTTPS_PROXY/http_proxy/HTTP_PROXY environment variable at INFO level whenever it creates an outbound HTTP client and no explicit http.proxy workspace setting is configured. Corporate proxy URLs frequently embed Basic-auth credentials in the form http://user:pass@proxy:8080, and the language server writes this value to its log file without any redaction. Since language server log files are often attached to bug reports or are readable by other local users/processes, this can result in disclosure of proxy credentials.
Affected Spring Products and Versions:
Spring Tools for Eclipse: 5.2.0 and earlier
Spring Tools for VSCode / Cursor / Theia: 2.2.0 and earlier
📍 영향받는 시스템
Spring Tools for Eclipse 5.2.0 이하, Spring Tools for VSCode/Cursor/Theia 2.2.0 이하
⚔️ 공격 벡터
로컬 사용자 또는 버그 보고를 통해 공유된 로그 파일을 통해 프록시 인증 정보 탈취
🛡️ 대응 방법
Spring Tools를 최신 버전으로 업데이트하거나 로그 파일에 민감 정보가 포함되지 않도록 주의
🔧 검증 코드
출력된 버전이 취약한 버전 범위(5.2.0 이하 또는 2.2.0 이하)에 해당하면 취약한 상태입니다.
echo 'Spring Tools Version: 5.2.0' | grep -E '5.2.0|2.2.0'