🔍 CVE-2026-104852

0.0
CVSS Score
UNKNOWN
2026-10-05
2026-10-06 15:17
✅ 완료

🇰🇷 한글 설명

GraphQL Tools의 utils 패키지 내 mergeDeep 함수가 객체를 병합할 때 __proto__, constructor, prototype과 같은 특수 키를 제대로 필터링하지 못하는 취약점입니다. 인증되지 않은 공격자가 GraphQL 필드 별칭을 사용하여 프로토타입 체인을 오염시키면 Function.prototype.call을 덮어써서 서비스의 후속 요청을 중단시킬 수 있습니다.

💡 쉬운 설명

데이터를 합치는 과정에서 시스템의 핵심 규칙이 담긴 영역을 공격자가 조작할 수 있는 문제입니다. 이 공격을 받으면 프로그램이 정상적으로 작동하지 않고 멈춰버릴 수 있습니다.

🇺🇸 원문 (English)

GraphQL Tools provides utilities for building, stitching, and mocking GraphQL schemas. Prior to 12.0.1, the GraphQL Tools utils package's mergeDeep function follows inherited properties while recursively merging source objects and does not exclude __proto__, constructor, or prototype keys. An unauthenticated GraphQL client can alias fields to those names so responses from two subgraphs collide during ordinary supergraph result merging, causing mergeDeep to traverse Object and Function prototypes and overwrite Function.prototype.call with a subgraph-supplied value. This breaks subsequent requests in the process until restart. This issue is fixed in version 12.0.1.

📍 영향받는 시스템

GraphQL Tools utils package (version 12.0.1 미만)

⚔️ 공격 벡터

인증되지 않은 GraphQL 클라이언트가 필드 별칭(alias)을 사용하여 프로토타입 속성을 조작하는 방식

🛡️ 대응 방법

GraphQL Tools utils 패키지를 12.0.1 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 결과에서 @graphql-tools/utils의 버전이 12.0.1 미만인지 확인하십시오.

Shell / Script
npm list @graphql-tools/utils || yarn list @graphql-tools/utils

💻 영향받는 소프트웨어

Spring for GraphQL