Skip to main content
0x0f

AEAD_LIMIT_REACHED

RFC 9000 §20

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