🇰🇷 한글 설명
Spring for GraphQL에 포함된 GraphiQL 페이지가 SRI(Subresource Integrity) 검사 없이 공용 CDN에서 JavaScript 라이브러리를 로드합니다. 공격자가 CDN의 스크립트를 변조할 경우, 해당 페이지를 로드하는 사용자의 브라우저에서 임의의 코드가 실행될 수 있습니다.
💡 쉬운 설명
웹사이트가 외부에서 가져오는 도구를 사용할 때, 그 도구가 변조되었는지 확인하는 안전장치가 빠져 있는 상태입니다. 해커가 이 도구를 가짜로 바꿔치기하면 사용자의 브라우저를 해킹할 수 있습니다.
🇺🇸 원문 (English)
The GraphiQL page bundled with Spring for GraphQL loads JavaScript libraries from a public CDN, without Subresource Integrity checks. An attacker can inject malicious code in those scripts and execute arbitrary code on the browser loading the GraphiQL page.
Spring for GraphQL 2.0.0 - 2.0.4
Spring for GraphQL 1.4.0 - 1.4.6
Spring for GraphQL 1.1.0 - 1.3.9
Spring for GraphQL 1.0.0 - 1.0.7
📍 영향받는 시스템
Spring for GraphQL 1.0.0-1.0.7, 1.1.0-1.3.9, 1.4.0-1.4.6, 2.0.0-2.0.4
⚔️ 공격 벡터
CDN에 배포된 JavaScript 라이브러리를 변조하여 브라우저 기반의 XSS 또는 악성 코드 실행
🛡️ 대응 방법
Spring for GraphQL을 SRI 검사가 적용된 최신 보안 패치 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 현재 프로젝트에 사용 중인 Spring for GraphQL의 버전을 확인하여 취약 버전 범위에 포함되는지 체크합니다.
mvn dependency:list | grep 'spring-graphql'