RUSTSEC-2026-0338: Remote peer can panic quinn-proto with zero-length STREAM frames during unordered reads
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
The report describes a panic in quinn-proto’s RangeSet::replace when unordered stream reads receive empty STREAM frames, but it does not identify files or tests in this repository. Start by checking how the ODBC driver uses stackable-odbc-core and whether it uses quinn-proto or unordered reads; the report says ordered reads are unaffected. Done means confirming whether this repository is affected and, if so, addressing the panic and covering the empty-range case.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Remote peer can panic quinn-proto with zero-length STREAM frames during unordered reads
| Details | |
|---|---|
| Package | quinn-proto |
| Version | 0.11.16 |
| URL | https://github.com/quinn-rs/quinn/pull/2868 |
| Date | 2026-09-14 |
| Patched versions | >=0.11.18 |
| Unaffected versions | <0.7.0 |
When a stream is read in unordered mode (for example through RecvStream::read(false) in
quinn-proto or read_unordered in quinn), quinn-proto proactively deduplicates received data
by recording received ranges in a RangeSet through its replace method. When an incoming
STREAM frame carried an empty payload, the Drop implementation of the iterator returned by
replace inserted an empty range into the set, violating the invariant that stored ranges are
non-empty. Subsequent frames overlapping that region then caused a panic while processing the
stream.
A remote peer can trigger this with five small STREAM frames (two of them zero-length) once the
application has put the stream in unordered-read mode. The default ordered read path is not
affected.
The flaw was corrected in 0.11.18 by ignoring empty ranges in RangeSet::replace.
Thanks to Otto Hermann (@ojhermann) for reporting this issue.
See advisory page for additional details.
- Vorherrschende Sprache
- Rust
- Sterne
- 1
- Forks
- 0
- Ø Merge
- 1 T. 15 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus stackabletech/stackable-odbc-trino
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 55/100
-
RUSTSEC-2026-0348: Brotli certificate decompression can allocate up to 1 GiB before authenticationOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 50/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
Alle Issues in stackabletech/stackable-odbc-trino
Ähnliche Issues
-
build: Update rust versionEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offendependencies
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
ibm-granite-community/granite-cli#229 ·
Maintainer antworten meist innerhalb von 1 Tag
-
setTargetAtTime booked ahead of time starts its curve early (values blow up before start_time)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
orottier/web-audio-api-rs#658 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
aosama/astronomical#1318 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
shep-pm/shep-kelpie#980 ·
Maintainer antworten meist innerhalb von 1 Tag