AEAD_LIMIT_REACHED
QUIC AEAD_LIMIT_REACHED (0x0f) is sent when the usage limits for an AEAD key have been reached. AEAD algorithms have defined limits on how many packets can be encrypted or decryption-attempted under a single key before security guarantees degrade. Reaching this limit requires closing the connection.
Code
0x0f
Decimal
15
Standard
RFC 9000 §20
Description
Modern AEAD algorithms (AES-GCM, ChaCha20-Poly1305) have usage limits – encrypting or attempting to decrypt too many packets under a single key increases the probability of authentication tag forgery to unacceptable levels. RFC 9001 §6.6 defines the limits: for AEAD_AES_128_GCM, the confidentiality limit is 2^23 packets. For AEAD_AES_256_GCM, it is 2^52. For AEAD_CHACHA20_POLY1305, it is 2^62. These are very large numbers that would not be reached in typical HTTP/3 sessions. AEAD_LIMIT_REACHED would only appear in extremely high-volume, long-lived QUIC connections transmitting hundreds of billions of packets under the same key without triggering a key update. In practice, QUIC implementations trigger key updates (via the Key Phase mechanism) before these limits are approached. Seeing this error indicates either a missing key update mechanism or an extraordinary connection volume.
Common Causes
- –Extremely high-volume connection that failed to trigger key updates
- –Key update mechanism disabled or broken in the implementation
- –Long-lived connection with missing key rotation logic