CVE-2026-12523
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedSummary Cloudflare quiche's HTTP/3 layer was discovered to be vulnerable to resource exhaustion (i.e., memory) by means of specially crafted HTTP/3 frames. Impact HTTP/3 defines multiple frame types to support HTTP message exchanges and connection management. Each frame has a length and a payload whose length depends on the frame type. quiche was found to be vulnerable when parsing some frame types to pre-allocating memory based on the declared length. An attacker would not need to send the number of declared bytes to trigger this issue. In addition, quiche was found to not apply QPACK decompression limits correctly. This could allow an attacker to send specially crafted HEADERS frames that would cause more memory commitment than otherwise advertised by MAX_FIELD_SECTION_SIZE (configured by set_max_field_section_size()). Mitigation: * Users are requested to upgrade to quiche 0.29.3 which is the earliest version containing the fix for this issue. Credits: Disclosed responsibly by Sébastien Féry
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidencequiche's HTTP/3 implementation pre-allocates memory based on declared frame length without requiring the full payload to be sent, allowing attackers to exhaust memory by sending frames with large declared lengths but minimal actual data. Additionally, QPACK decompression limits are not correctly enforced, permitting HEADERS frames to commit more memory than the configured MAX_FIELD_SECTION_SIZE allows.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 0.1.0, < 0.29.3CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- None
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify quiche installationLocate the quiche library in your environment - check for quiche crates in Rust projects, system libraries, or applications using HTTP/3 via quicheAffected if quiche is present and used for HTTP/3 connections
-
Determine quiche versionQuery the installed quiche version using your package manager, Cargo.toml dependencies, or library version information, then compare to the fixed version 0.29.3Affected if installed version is lower than 0.29.3
-
Verify HTTP/3 is enabledCheck if your application or service has HTTP/3 / quiche protocol support actively enabled in configurationAffected if HTTP/3 via quiche is enabled and accepting connections
-
Check QPACK settingsInspect your server configuration for MAX_FIELD_SECTION_SIZE settings and QPACK decompression limits if exposed via config or logsAffected if QPACK limits are not properly enforced or MAX_FIELD_SECTION_SIZE is configured without corresponding memory limits in the quiche library
-
Monitor memory behaviorObserve memory allocation patterns when processing HTTP/3 frames - especially HEADERS frames with large declared sizes but small payloadsAffected if memory grows disproportionately relative to actual frame data received
You are affected if quiche version is below 0.29.3, HTTP/3 is enabled, and your environment processes incoming HTTP/3 connections where attackers could send specially crafted frames
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped0.29.3
Upgrade to quiche version 0.29.3 or later to receive the memory allocation and QPACK limit fixes.
quiche 0.29.3 or later
- Identify the current quiche version in use by checking project dependencies or build configuration
- Upgrade quiche to version 0.29.3 or later by updating the dependency in your package manager (e.g., Cargo.toml for Rust, or relevant build system)
- Verify the upgrade was successful by checking the installed quiche version
- Rebuild and redeploy the application using the updated quiche library
- Test HTTP/3 functionality to ensure normal operation after the upgrade
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation2.0 h
- Testing8.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,032.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-12523 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-12523 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data