# CVE-2026-107727: Strawberry legacy graphql-ws retains naturally completed subscription slots

Source: https://junglewise.ai/threats/cve-2026-107727-strawberry-legacy-graphql-ws-retains-naturally-completed  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-08  
License: CC BY 4.0 with a link back

CVE-2026-107727 · Severity: low · CVSS 3.7 · Published 2026-10-08

Strawberry GraphQL is a library for creating GraphQL APIs. From 0.312.3 until 0.327.2, the legacy graphql-ws subscription handler in strawberry/subscriptions/protocols/graphql_ws/handlers.py does not remove naturally completed operations from self.tasks and self.subscriptions. When max_subscriptions_per_connection is configured, a client on a persistent WebSocket connection can use distinct operation IDs for one-shot subscriptions to fill the connection's configured slots even after those subscriptions send complete, causing later legitimate operations on that connection to be rejected with Subscription limit reached. The modern graphql-transport-ws protocol and deployments without the configured per-connection cap are not affected. This issue is fixed in version 0.327.2.

Technologies: [strawberry-graphql (PyPI)](https://junglewise.ai/threats/technologies/strawberry-graphql). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-107727 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-107727 being exploited in the wild.

**How severe is CVE-2026-107727?** Low severity, with a CVSS score of 3.7, published 8 October 2026.

**Which products and versions are affected?** strawberry-graphql (PyPI) >= 0.312.3, < 0.327.2, ECOSYSTEM:introduced=0.312.3,fixed=0.327.2.

**Is there a fix for CVE-2026-107727?** Yes. strawberry-graphql (PyPI): upgrade to 0.327.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2026-107727?** Check whether you run strawberry-graphql (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- strawberry-graphql (PyPI): upgrade to 0.327.2 or later

  ```sh
  pip install "strawberry-graphql>=0.327.2"
  ```


## Affected products

- strawberry-graphql (PyPI) >= 0.312.3, < 0.327.2, ECOSYSTEM:introduced=0.312.3,fixed=0.327.2

## Identifiers

- CVE-2026-107727
- GHSA-m952-2w3f-6r8h
- PYSEC-2026-4302

## Related threats

- [Strawberry GraphQL permission check bypass via awaitable return value](https://junglewise.ai/threats/cve-2026-107728-strawberry-graphql-synchronous-permission-checks-can-treat-an)
- [PYSEC-2026-1946 - Strawberry GraphQL has type resolution vulnerability in node interface that allows potential data…](https://junglewise.ai/threats/cve-2025-22151-strawberry-graphql-has-type-resolution-vulnerability-in-node)
- [Strawberry GraphQL DoS via MaxAliasesLimiter bypass in FragmentSpreadNode](https://junglewise.ai/threats/cve-2026-47707-strawberry-graphql-dos-via-maxaliaseslimiter-bypass-in)
- [Strawberry GraphQL Denial of Service via Uncontrolled Recursion in QueryDepthLimiter](https://junglewise.ai/threats/cve-2026-47706-strawberry-graphql-denial-of-service-via-uncontrolled-recursion)
- [Strawberry GraphQL sensitive information leak in GraphiQL template](https://junglewise.ai/threats/cve-2026-45739-strawberry-graphql-sensitive-information-leak-in-graphiql)
