🔍 CVE-2025-22151

3.7
CVSS Score
LOW
2025-01-09
2026-06-17 08:45
✅ 완료

🇰🇷 한글 설명

Strawberry GraphQL의 relay 통합 기능에서 발생하는 타입 혼동 취약점입니다. 동일한 모델에 여러 GraphQL 타입이 매핑된 경우, 글로벌 노드 필드 쿼리 시 잘못된 타입의 인스턴스를 반환하여 민감한 정보 노출이나 권한 상승을 초래할 수 있습니다.

💡 쉬운 설명

데이터를 요청할 때 시스템이 엉뚱한 종류의 데이터를 가져오는 오류가 있습니다. 이로 인해 원래 보여주면 안 되는 중요한 정보가 노출될 위험이 있습니다.

🇺🇸 원문 (English)

Strawberry GraphQL is a library for creating GraphQL APIs. Starting in 0.182.0 and prior to version 0.257.0, a type confusion vulnerability exists in Strawberry GraphQL's relay integration that affects multiple ORM integrations (Django, SQLAlchemy, Pydantic). The vulnerability occurs when multiple GraphQL types are mapped to the same underlying model while using the relay node interface. When querying for a specific type using the global node field (e.g., FruitType:some-id), the resolver may incorrectly return an instance of a different type mapped to the same model (e.g., SpecialFruitType). This can lead to information disclosure if the alternate type exposes sensitive fields and potential privilege escalation if the alternate type contains data intended for restricted access. This vulnerability is fixed in 0.257.0.

📍 영향받는 시스템

Strawberry GraphQL 0.182.0 미만 0.257.0 미만 버전 (Django, SQLAlchemy, Pydantic 통합 사용 시)

⚔️ 공격 벡터

Relay의 global node 필드를 사용하여 특정 ID로 쿼리할 때 의도치 않은 타입의 데이터를 요청

🛡️ 대응 방법

Strawberry GraphQL을 0.257.0 버전 이상으로 업데이트

🔧 검증 코드

출력된 버전이 0.257.0 미만이면 취약한 상태입니다.

Shell / Script
pip show strawberry-graphql | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Spring for GraphQL