---
id: GHSA-4w2j-m93h-cj5j
title: >-
  Quinn: Remote memory exhaustion in quinn-proto from unbounded out-of-order
  stream reassembly
summary: >-
  Quinn: Remote memory exhaustion in quinn-proto from unbounded out-of-order
  stream reassembly
severity: high
cvss: 7.5
cwe:
  - CWE-770
vendor: quinn-proto
product: quinn-proto
ecosystem: rust
affected:
  - 'quinn-proto >= 0.1.0, < 0.11.15'
patched:
  - quinn-proto 0.11.15
published: '2026-07-24'
updated: '2026-07-24'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-4w2j-m93h-cj5j'
references:
  - url: 'https://github.com/quinn-rs/quinn/security/advisories/GHSA-4w2j-m93h-cj5j'
  - url: 'https://github.com/quinn-rs/quinn/pull/2694'
  - url: >-
      https://github.com/quinn-rs/quinn/commit/fed0321a9a672819662caab37f5662f1ad91308e
  - url: 'https://github.com/quinn-rs/quinn/releases/tag/quinn-proto-0.11.15'
  - url: 'https://rustsec.org/advisories/RUSTSEC-2026-0185.html'
  - url: 'https://github.com/advisories/GHSA-4w2j-m93h-cj5j'
tags:
  - ghsa
  - rust
ingestedAt: '2026-07-24T14:29:29.077Z'
---

## Overview

## Summary

The `Assembler` component that assembles unordered stream fragments into consecutive chunks of the stream incurs some overhead for non-contiguous fragments. Readers that read from a `RecvStream` in order (through an `AsyncRead` impl for example) will be sensitive to peers that send fragments while leaving out early parts of the stream, and in particular, fragments with many gaps (because these cannot be defragmented). In such a scenario, the receiving connection suffers from high buffer overhead, enabling memory exhaustion.

## Affected packages

- `quinn-proto >= 0.1.0, < 0.11.15`

## Remediation

Upgrade to a patched release:

- `quinn-proto 0.11.15`
