🔍 CVE-2026-35526

7.5
CVSS Score
HIGH
2026-04-07
2026-06-17 10:40
✅ 완료

🇰🇷 한글 설명

Strawberry GraphQL 라이브러리에서 WebSocket 구독 핸들러가 연결당 활성 구독 수에 대한 제한 없이 asyncio.Task를 할당하는 취약점이 발견되었습니다. 인증되지 않은 공격자가 대량의 구독 메시지를 전송하여 메모리 사용량을 급증시키고 이벤트 루프를 포화시켜 서버를 중단시키거나 OOM(Out of Memory) 오류를 유발할 수 있습니다.

💡 쉬운 설명

공격자가 가짜 요청을 엄청나게 많이 보내서 서버의 메모리를 모두 써버리게 만드는 공격입니다. 이로 인해 서버가 느려지거나 아예 멈춰버릴 수 있습니다.

🇺🇸 원문 (English)

Strawberry GraphQL is a library for creating GraphQL APIs. Prior to 0.312.3, Strawberry GraphQL's WebSocket subscription handlers for both the graphql-transport-ws and legacy graphql-ws protocols allocate an asyncio.Task and associated Operation object for every incoming subscribe message without enforcing any limit on the number of active subscriptions per connection. An unauthenticated attacker can open a single WebSocket connection, send connection_init, and then flood subscribe messages with unique IDs. Each message unconditionally spawns a new asyncio.Task and async generator, causing linear memory growth and event loop saturation. This leads to server degradation or an OOM crash. This vulnerability is fixed in 0.312.3.

📍 영향받는 시스템

Strawberry GraphQL versions prior to 0.312.3

⚔️ 공격 벡터

단일 WebSocket 연결을 통해 인증 없이 대량의 subscribe 메시지를 전송하여 리소스를 고갈시키는 방식

🛡️ 대응 방법

Strawberry GraphQL 라이브러리를 0.312.3 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 0.312.3 미만이면 취약한 상태이며, 0.312.3 이상이면 안전합니다.

Shell / Script
pip show strawberry-graphql | grep Version

📊 CVSS Vector String

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