CVE-2024-1410
Assigner: cloudflare
Published: 2024-03-12T18:06:05.475Z
State: PUBLISHED
affected: defaultStatus: unaffected
packageName: quiche
platforms: Rust
product: quiche
vendor: Cloudflare
versions: lessThan: <0.19.2
status: affected
version: 0.15.0
versionType: semver
lessThan: <0.20.1
status: affected
version: 0.20.0
versionType: semver
credits: type: finder
value: Marten Seeman (@marten-seemann)
datePublic: 2024-03-12T18:01:00.000Z
descriptions: supportingMedia: base64: no
type: text/html
value: <span style="background-color: transparent;">Cloudflare quiche was discovered to be vulnerable to unbounded storage of information related to connection ID retirement, which could lead to excessive resource consumption. </span><span style="background-color: transparent;">Each QUIC connection possesses a set of connection Identifiers (IDs); see </span><a target="_blank" rel="nofollow" href="https://datatracker.ietf.org/doc/html/rfc9000#section-5.1"><span style="background-color: transparent;">RFC 9000 Section 5.1</span></a><span style="background-color: transparent;">. Endpoints declare the number of active connection IDs they are willing to support using the active_connection_id_limit transport parameter. The peer can create new IDs using a NEW_CONNECTION_ID frame but must stay within the active ID limit. This is done by retirement of old IDs, the endpoint sends NEW_CONNECTION_ID includes a value in the retire_prior_to field, which elicits a RETIRE_CONNECTION_ID frame as confirmation. An unauthenticated remote attacker can exploit the vulnerability by sending NEW_CONNECTION_ID frames and manipulating the connection (e.g. by restricting the peer's congestion window size) so that RETIRE_CONNECTION_ID frames can only be sent at a slower rate than they are received, leading to storage of information related to connection IDs in an unbounded queue. </span><span style="background-color: transparent;">Quiche versions 0.19.2 and 0.20.1 are the earliest to address this problem. There is no workaround for affected versions.</span><br>
value: Cloudflare quiche was discovered to be vulnerable to unbounded storage of information related to connection ID retirement, which could lead to excessive resource consumption. Each QUIC connection possesses a set of connection Identifiers (IDs); see  RFC 9000 Section 5.1 https://datatracker.ietf.org/doc/html/rfc9000#section-5.1 . Endpoints declare the number of active connection IDs they are willing to support using the active_connection_id_limit transport parameter. The peer can create new IDs using a NEW_CONNECTION_ID frame but must stay within the active ID limit. This is done by retirement of old IDs, the endpoint sends NEW_CONNECTION_ID includes a value in the retire_prior_to field, which elicits a RETIRE_CONNECTION_ID frame as confirmation. An unauthenticated remote attacker can exploit the vulnerability by sending NEW_CONNECTION_ID frames and manipulating the connection (e.g. by restricting the peer's congestion window size) so that RETIRE_CONNECTION_ID frames can only be sent at a slower rate than they are received, leading to storage of information related to connection IDs in an unbounded queue. Quiche versions 0.19.2 and 0.20.1 are the earliest to address this problem. There is no workaround for affected versions.

impacts: capecId: CAPEC-130
descriptions: value: CAPEC-130 Excessive Allocation
capecId: CAPEC-272
descriptions: value: CAPEC-272 Protocol Manipulation
metrics: cvssV3_1: attackComplexity: HIGH
attackVector: NETWORK
availabilityImpact: LOW
baseScore: 3.7
baseSeverity: LOW
confidentialityImpact: NONE
integrityImpact: NONE
privilegesRequired: NONE
scope: UNCHANGED
userInteraction: NONE
vectorString: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
version: 3.1
format: CVSS
scenarios: value: GENERAL
problemTypes: descriptions: cweId: CWE-400
description: CWE-400 Uncontrolled Resource Consumption
type: CWE
source: discovery: EXTERNAL
title: Unbounded storage of information related to connection ID retirement, in quiche 
x_generator: engine: Vulnogram 0.1.0-dev