Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly
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.
- Products
- quinn-proto
- Affected versions
- Not specified
- Fixed versions
- 0.11.15
- CVEs
- CVE-2026-25800
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 08:44 UTC · Revision 1
Source evidence
Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly
core-osv · Original sourcePublished 22 Jun 2026, 12:00 UTC
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.
osv:RUSTSEC-2026-0185
quinn-proto
Fixed versions: 0.11.15
Complete source record
{
"id": "8283f3a98792e7486c8d9f3c782a692552729aecb780c12296483abea5975d38",
"url": "https://osv.dev/vulnerability/RUSTSEC-2026-0185",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly",
"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.",
"evidence": "osv:RUSTSEC-2026-0185",
"products": [
{
"name": {
"value": "quinn-proto",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "0.11.15",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "RUSTSEC-2026-0185",
"aliases": [
"CVE-2026-25800",
"GHSA-4w2j-m93h-cj5j",
"RUSTSEC-2026-0185"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0.0.0-0"
},
{
"fixed": "0.11.15"
}
]
}
],
"package": {
"name": "quinn-proto",
"purl": "pkg:cargo/quinn-proto",
"ecosystem": "crates.io"
},
"database_specific": {
"cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"source": "https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0185.json",
"categories": [
"denial-of-service"
],
"informational": null
},
"ecosystem_specific": {
"affects": {
"os": [],
"arch": [],
"functions": []
},
"affected_functions": null
}
}
],
"modified": "2026-10-12T18:27:06.855127585Z",
"provider": "osv",
"references": [
"https://crates.io/crates/quinn-proto",
"https://rustsec.org/advisories/RUSTSEC-2026-0185.html",
"https://github.com/quinn-rs/quinn/pull/2694"
],
"provider_metadata": {
"license": "CC0-1.0"
}
},
"related_cves": [
{
"value": "CVE-2026-25800",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 306475,
"published_at": "2026-06-22T12:00:00+00:00"
}