When "idle" isn't idle: how a Linux kernel optimization became a QUIC bug
May 12, 2026Esteban Carisimo, Antonio Vicente

Summary
This post details a bug discovered in Cloudflare's quiche implementation of the CUBIC congestion control algorithm for QUIC. The bug caused the congestion window (cwnd) to become permanently pinned at its minimum after a congestion collapse event, preventing recovery. The post traces the origin of the bug to a Linux kernel optimization for handling idle periods in TCP, which was ported to quiche. It explains how the user-space nature of QUIC and a subtle difference in how idle periods were handled led to the bug, resulting in rapid oscillations between congestion avoidance and recovery states. A fix, derived from a subsequent kernel patch, is presented to resolve the issue.
More from the Website Security & Threat Management trail
- We tested our own WAF with frontier AI models. Here’s what we found
- When scanners miss the attack: how Cloudflare Client-Side Security protects storefronts
- Introducing automatic remediation policies with Cloudflare CASB
- Introducing context-aware vulnerability discovery and remediation with Cloudflare Managed Defense and OpenAI Daybreak Models
- Introducing Adaptive Intelligence: undermining the economics of every bot attack