Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly
| Details |
|
| Package |
quinn-proto |
| Version |
0.11.14 |
| URL |
quinn-rs/quinn#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.
quinn-proto0.11.14>=0.11.15The
Assemblercomponent that assembles unordered stream fragments into consecutive chunks of thestream incurs some overhead for non-contiguous fragments. Readers that read from a RecvStream in
order (through an
AsyncReadimpl for example) will be sensitive to peers that send fragmentswhile 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.