🇰🇷 한글 설명
Spring AI의 spring-ai-bedrock-converse 모듈에서 BedrockProxyChatModel이 사용자가 제공한 미디어 URL이 포함된 멀티모달 메시지를 처리할 때 SSRF(서버 측 요청 위조) 취약점이 존재합니다. 해당 URL에 대한 검증이 불충분하여 공격자가 서버가 의도하지 않은 내부 또는 외부 대상으로 HTTP 요청을 보내도록 유도할 수 있습니다. 영향 버전은 1.0.0 이상 1.0.5 미만, 1.1.0 이상 1.1.4 미만입니다.
💡 쉬운 설명
AI 기능이 사용자가 넣은 이미지 주소로 서버가 직접 접속하는 구조인데, 이 주소를 제대로 검사하지 않습니다. 공격자는 이를 이용해 서버가 내부 시스템에 접근하게 만들 수 있습니다.
🇺🇸 원문 (English)
Spring AI's spring-ai-bedrock-converse contains a Server-Side Request Forgery (SSRF) vulnerability in BedrockProxyChatModel when processing multimodal messages that include user-supplied media URLs. Insufficient validation of those URLs allows an attacker to induce the server to issue HTTP requests to unintended internal or external destinations.
This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.
📍 영향받는 시스템
Spring AI spring-ai-bedrock-converse 1.0.0~1.0.4 및 1.1.0~1.1.3 사용 시스템
⚔️ 공격 벡터
멀티모달 메시지에 내부망 주소 등 악의적인 미디어 URL을 삽입하여 서버가 임의의 HTTP 요청을 수행하도록 유도
🛡️ 대응 방법
spring-ai 의존성을 1.0.5 이상 또는 1.1.4 이상으로 업그레이드하고, 사용자 입력 URL에 대해 내부 주소 및 허용되지 않은 도메인 차단 목록을 적용
🔧 검증 코드
출력된 파일의 해당 의존성 버전이 1.0.5 미만(1.0.x) 또는 1.1.4 미만(1.1.x)이면 취약, 그 이상이면 패치 완료로 판단
grep -rE 'spring-ai-bedrock-converse' --include=pom.xml --include=build.gradle --include=build.gradle.kts . 2>/dev/null | head -n 5