🇰🇷 한글 설명
graphql-playground-react 1.7.28 미만 버전에서 발생하는 취약점으로, 악의적인 GraphQL 스키마를 통해 동적 XSS 공격이 가능합니다. 공격자가 조작된 스키마를 로드하도록 유도하면 사용자의 브라우저에서 임의의 자바스크립트가 실행될 수 있습니다.
💡 쉬운 설명
개발 도구인 GraphQL Playground에서 잘못된 정보를 불러올 때 해커가 심어놓은 악성 코드가 실행될 수 있는 보안 약점입니다. 사용자가 나쁜 링크를 클릭하면 개인정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
GraphQL Playground is a GraphQL IDE for development of graphQL focused applications. All versions of graphql-playground-react older than
[email protected] are vulnerable to compromised HTTP schema introspection responses or schema prop values with malicious GraphQL type names, exposing a dynamic XSS attack surface that can allow code injection on operation autocomplete. In order for the attack to take place, the user must load a malicious schema in graphql-playground. There are several ways this can occur, including by specifying the URL to a malicious schema in the endpoint query parameter. If a user clicks on a link to a GraphQL Playground installation that specifies a malicious server, arbitrary JavaScript can run in the user's browser, which can be used to exfiltrate user credentials or other harmful goals. If you are using graphql-playground-react directly in your client app, upgrade to version 1.7.28 or later.
📍 영향받는 시스템
graphql-playground-react 1.7.28 미만 모든 버전
⚔️ 공격 벡터
악의적인 스키마 URL이 포함된 링크를 통해 사용자가 조작된 GraphQL Playground에 접속하도록 유도
🛡️ 대응 방법
graphql-playground-react 라이브러리를 1.7.28 버전 이상으로 업데이트
🔧 검증 코드
출력된 결과에서 graphql-playground-react의 버전이 1.7.28 미만인지 확인
npm list graphql-playground-react