Loading...
Skip to main content

CVE-2026-31812 — Vulnerability in quinn-proto — CVE Details

HIGH

Quinn affected by unauthenticated remote DoS via panic in QUIC transport parameter parsing

Published March 11, 2026Updated September 10, 2026Source: osv

Summary

### Summary A remote, unauthenticated attacker can trigger a denial of service in applications using vulnerable `quinn` versions by sending a crafted QUIC Initial packet containing malformed `quic_transport_parameters`. `In quinn-proto` parsing logic, attacker-controlled varints are decoded with `unwrap()`, so truncated encodings cause `Err(UnexpectedEnd)` and `panic`. This is reachable over the network with a single packet and no prior trust or authentication. ### Details The issue is panic-on-untrusted-input in QUIC transport parameter parsing. In `quinn-proto` (observed in `quinn-proto 0.11.13`), parsing of some transport parameters uses a fallible varint decode followed by `unwrap()`. For malformed/truncated parameter values, decode returns `UnexpectedEnd`, and `unwrap()` panics. #### Observed output: ``` thread 'tokio-rt-worker' (2366474) panicked at quinn-proto/src/transport_parameters.rs:473:67: called `Result::unwrap()` on an `Err` value: UnexpectedEnd ``` ### PoC #### Reproduces against the upstream Quinn server example. 1. Start server: ``` cargo run --example server -- ./ ``` 2. Prepare PoC client environment: ``` python3 -m venv .venv source .venv/bin/activate pip install aioquic ``` 3. Run PoC script [attack.py](https://github.com/user-attachments/files/25741713/attack.py) against server QUIC listener (default example target shown): ``` python attack.py ``` #### Observed output ``` thread 'tokio-rt-worker' (2366903) panicked at quinn-proto/src/transport_parameters.rs:473:67: called `Result::unwrap()` on an `Err` value: UnexpectedEnd ``` ### Impact Vulnerability type: Remote Denial of Service (panic/crash) Attack requirements: Network reachability to UDP QUIC listener Authentication/privileges: None Who is impacted: Any server/application using affected `quinn/quinn-proto` versions where this parse path is reachable; process-level impact depends on integration panic handling policy This vulnerability was originally submitted by @revofusion to the Ethereum Foundation bug bounty program

Advisory Timeline

  • First published March 11, 2026 (216 days ago).
  • Last revised September 10, 2026 — 183 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Cargo
Update quinn-proto to 0.11.14 or later
cargo update -p quinn-proto --precise 0.11.14

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: crates.io (1).

PackageEcosystemAffectedFixed In
quinn-proto
crates.io
All versions0.11.14

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.5 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Frequently Asked Questions

What is CVE-2026-31812?
Quinn affected by unauthenticated remote DoS via panic in QUIC transport parameter parsing This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.5/10).
How do I check if my project is affected by CVE-2026-31812?
CVE-2026-31812 affects quinn-proto. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-31812 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.5

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-6xvm-j4wr-6v98
RUSTSEC-2026-0037

Related CVEs

  • CVE-2023-42805
    HIGH

    Denial of service in Quinn servers

  • CVE-2024-45311
    HIGH

    `Endpoint::retry()` calls can lead to panicking

  • CVE-2026-25800
    HIGH

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

  • CVE-2026-25800
    HIGH

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

  • CVE-2026-93657
    HIGH

    hickory-resolver: Resolver::lookup() and Resolver::lookup_ip() APIs obscure DNSSEC validation failures

  • CVE-2026-18140
    HIGH

    aws-smithy-json: Uncontrolled recursion in the aws-smithy-json unknown-key skip path allows unauthenticated remote denial of service in smithy-rs generated servers

  • CVE-2023-42805
    HIGH

    Denial of Service issue in quinn-proto

  • CVE-2024-45311
    HIGH

    Denial of service in quinn-proto when using `Endpoint::retry()`

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies