CVE-2025-7054
Infinite loop triggered by connection ID retirement
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
Cloudflare quiche was discovered to be vulnerable to an infinite loop when sending packets containing RETIRE_CONNECTION_ID frames. QUIC connections possess a set of connection identifiers (IDs); see Section 5.1 of RFC 9000 https://datatracker.ietf.org/doc/html/rfc9000#section-5.1 . Once the QUIC handshake completes, a local endpoint is responsible for issuing and retiring Connection IDs that are used by the remote peer to populate the Destination Connection ID field in packets sent from remote to local. Each Connection ID has a sequence number to ensure synchronization between peers. An unauthenticated remote attacker can exploit this vulnerability by first completing a handshake and then sending a specially-crafted set of frames that trigger a connection ID retirement in the victim. When the victim attempts to send a packet containing RETIRE_CONNECTION_ID frames, Section 19.16 of RFC 9000 https://datatracker.ietf.org/doc/html/rfc9000#section-19.6 requires that the sequence number of the retired connection ID must not be the same as the sequence number of the connection ID used by the packet. In other words, a packet cannot contain a frame that retires itself. In scenarios such as path migration, it is possible for there to be multiple active paths with different active connection IDs that could be used to retire each other. The exploit triggered an unintentional behaviour of a quiche design feature that supports retirement across paths while maintaining full connection ID synchronization, leading to an infinite loop.This issue affects quiche: from 0.15.0 before 0.24.5.
Se descubrió que Cloudflare Quiche era vulnerable a un bucle infinito al enviar paquetes que contenían tramas RETIRE_CONNECTION_ID. Las conexiones QUIC poseen un conjunto de identificadores de conexión (ID); consulte la Sección 5.1 de RFC 9000 (https://datatracker.ietf.org/doc/html/rfc9000#section-5.1). Una vez completado el protocolo de enlace QUIC, un endpoint local se encarga de emitir y retirar los ID de conexión que utiliza el punto remoto para rellenar el campo ID de conexión de destino en los paquetes enviados desde el punto remoto al local. Cada ID de conexión tiene un número de secuencia para garantizar la sincronización entre los puntos. Un atacante remoto no autenticado puede explotar esta vulnerabilidad completando primero un protocolo de enlace y luego enviando un conjunto de tramas especialmente manipuladas que desencadenan el retiro del ID de conexión en la víctima. Cuando la víctima intenta enviar un paquete que contiene tramas RETIRE_CONNECTION_ID, la Sección 19.16 de RFC 9000 (https://datatracker.ietf.org/doc/html/rfc9000#section-19.6) exige que el número de secuencia del ID de conexión retirado no coincida con el del ID de conexión utilizado por el paquete. En otras palabras, un paquete no puede contener una trama que se retire a sí misma. En escenarios como la migración de rutas, es posible que existan múltiples rutas activas con diferentes ID de conexión activos que podrían utilizarse para retirarse mutuamente. El exploit desencadenó un comportamiento involuntario de una característica de diseño de quiche que permite el retiro entre rutas manteniendo la sincronización completa del ID de conexión, lo que provocó un bucle infinito. Este problema afecta a quiche desde la versión 0.15.0 hasta la 0.24.5.
CVSS Scores
SSVC
- Decision:Attend
Timeline
- 2025-07-03 CVE Reserved
- 2025-08-07 CVE Published
- 2025-08-07 CVE Updated
- 2025-08-15 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')
CAPEC
References (1)
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Cloudflare Search vendor "Cloudflare" | Quiche Search vendor "Cloudflare" for product "Quiche" | >= 0.15.0 < 0.24.5 Search vendor "Cloudflare" for product "Quiche" and version " >= 0.15.0 < 0.24.5" | en |
Affected
|