ruvnet / ruvnet/midstream

RUSTSEC-2026-0185: Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly

Open
#88 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
147
Forks
39
Avg merge
16h 39m
Merged PRs (30d)
2

Description

Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly

Details
Package quinn-proto
Version 0.11.14
URL https://github.com/quinn-rs/quinn/pull/2694
Date 2026-06-22
Patched versions >=0.11.15

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.

See advisory page for additional details.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Check the project's dependency declarations and lockfile for quinn-proto 0.11.14, then review how the package is used. Update it to patched version 0.11.15 or later and verify that the resolved dependency no longer matches the affected version.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking, security
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.