RUSTSEC-2026-0343: Outgoing datagram buffer accounting can panic the sender in quinn-proto
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 15/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- Active
- Stack technique
- rust
- Domaine
- networking
Piste de recherche
The payload names no files in this repository. Start by checking whether Cargo.lock resolves quinn-proto to 0.11.17, which the advisory says is the only affected version, and whether any Cargo.toml depends on it directly or through quinn. Done means the lockfile resolves quinn-proto at 0.11.18 or later and the project's tests still pass. Confirm with a maintainer that this is the intended fix before starting.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Outgoing datagram buffer accounting can panic the sender in quinn-proto
| Details | |
|---|---|
| Package | quinn-proto |
| Version | 0.11.17 |
| URL | https://github.com/quinn-rs/quinn/pull/2806 |
| Date | 2026-09-14 |
| Patched versions | >=0.11.18 |
| Unaffected versions | <0.11.17 |
The limit on memory used to buffer outgoing datagrams, introduced in 0.11.17, subtracted an
evicted datagram's size from the buffered byte counter twice when Datagrams::send was called
with drop = true (as Connection::send_datagram in the quinn crate does) while the buffer was
full. Under sustained eviction the counter drifts below its true value: debug builds panic with an
integer underflow, while release builds wrap the counter, drain the whole queue, and then panic on
a desynchronization check in a later send call. In quinn, this panic occurs while the
connection lock is held, poisoning it and causing a double panic (and thus an abort) when the
connection is dropped.
This can be triggered without a malicious peer, by an application that sends a burst of datagrams
and then idles. It can also be triggered by a peer that keeps the connection alive with PING frames
while withholding acknowledgements, so that the sender's congestion window stays closed and the
outgoing queue never drains. Applications that use send_datagram_wait are not affected.
Only 0.11.17 is affected; the flaw was corrected in 0.11.18 by removing the redundant subtraction.
Thanks to @alexpyattaev for reporting and
@vcarus for fixing this issue.
See advisory page for additional details.
- Langage dominant
- Rust
- Étoiles
- 2
- Forks
- 2
- Merge moyen
- 13 h 13 min
- PR mergées (30 j)
- 5
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DiamondLightSource/numtracker
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
DiamondLightSource/numtracker#309 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
DiamondLightSource/numtracker#278 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
DiamondLightSource/numtracker#329 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 20/100
DiamondLightSource/numtracker#326 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 20/100
DiamondLightSource/numtracker#325 ·
Toutes les issues de DiamondLightSource/numtracker
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
ScoopInstaller/Extras#19275 ·
Les mainteneurs répondent en général sous 1 jour
-
area:plugins kind:bug priority:p2 ready
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
bug priority: medium ui
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
storytold/gridcraft#3496 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bip39: Mnemonic::new_from_phrase rejects phrases with extra or non-space whitespacePeut-être pris @chukwudiikeh l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
Les mainteneurs répondent en général sous 1 jour