Quinn is a pure-Rust, async-compatible implementation of the IETF QUIC transport protocol. As of quinn-proto 0.11, it is possible for a server to accept(), retry(), refuse(), or ignore() an Incoming connection. However, calling retry() on an unvalidated connection exposes the server to a likely panic in the following situations: 1. Calling refuse or ignore on the resulting validated connection, if a duplicate initial packet is received. This issue can go undetected until a server's refuse()/ignore() code path is exercised, such as to stop a denial of service attack. 2. Accepting when the initial packet for the resulting validated connection fails to decrypt or exhausts connection IDs, if a similar initial packet that successfully decrypts and doesn't exhaust connection IDs is received. This issue can go undetected if clients are well-behaved. The former situation was observed in a real application, while the latter is only theoretical.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-670"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45311.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:quinn_project:quinn:*:*:*:*:*:rust:*:*",
"range": [
{
"introduced": "0.11.0"
},
{
"fixed": "0.11.4"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "e01609ccd8738bd438d86fa7185a0f85598cb58f"
}
],
"source": "REFERENCES_COMMIT"
}
]
}