CVE-2026-40394
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 · uneditedVarnish Cache 9 before 9.0.1 and Varnish Enterprise before 6.0.16r11 allows a "workspace overflow" denial of service (daemon panic) for certain amounts of prefetched data. The setup of an HTTP/2 session starts with a speculative HTTP/1 transport, and upon upgrading to h2 the HTTP/1 request is repurposed as stream zero. During the upgrade, a buffer allocation is made to reserve space to send frames to the client. This allocation would split the original workspace, and depending on the amount of prefetched data, the next fetch could perform a pipelining operation that would run out of workspace.
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 confidenceVarnish Cache versions before 9.0.1 and Varnish Enterprise before 6.0.16r11 suffer from a workspace overflow vulnerability during HTTP/2 session upgrades. When an HTTP/1 request is repurposed as stream zero during h2 upgrade, a buffer allocation splits the original workspace. With certain amounts of prefetched data, subsequent pipelining operations exhaust the workspace, triggering daemon panic and causing denial of service.
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<= 6.0.15= 6.0.16= 9.0.0CVSS 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.
-
Check installed Varnish versionRun 'varnishd -V' to display the Varnish daemon versionAffected if Version is Varnish Cache below 9.0.1, or Varnish Enterprise at or below 6.0.16r10, or exactly 9.0.0 for Vinyl Cache (if applicable)
-
Verify HTTP/2 protocol support is enabledCheck varnishd startup options for h2 parameter (e.g., 'varnishd -C' shows compiled VCL, or inspect init scripts/ systemd unit for -p h2=On or similar)Affected if HTTP/2 support (h2) is enabled in the Varnish configuration or daemon arguments
-
Confirm h2 upgrade configurationExamine VCL configuration files for 'h2' parameter settings or 'http2' module usage with 'varnishd -C' to view compiled VCLAffected if HTTP/2 upgrade capability is present in the configuration (even if not actively used, the vulnerable code path exists when h2 is compiled in)
-
Check for active HTTP/1 pipelining usageReview access patterns or logs for HTTP/1 pipelined requests that may interact with upgraded HTTP/2 sessionsAffected if HTTP/1 pipelining is used in conjunction with HTTP/2 upgrade attempts, which would trigger the workspace exhaustion condition
Your environment is affected if you run a vulnerable Varnish version (before 9.0.1 for Cache, before 6.0.16r11 for Enterprise, or exactly 9.0.0 for Vinyl Cache) AND have HTTP/2 support enabled, as the workspace overflow occurs during h2 upgrade with pipelined requests.
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 · scopedUpgrade to Varnish Cache 9.0.1, Varnish Enterprise 6.0.16r11, or later versions to address the workspace allocation vulnerability during HTTP/2 upgrade.
Varnish Enterprise: 6.0.16r11 or later; Varnish Cache 9: 9.0.1 or later
- 1. Identify the current Varnish installation version using 'varnishd -V' or checking the package manager
- 2. For Varnish Enterprise: Upgrade to version 6.0.16r11 or later
- 3. For Varnish Cache (Vinyl) 9: Upgrade to version 9.0.1 or later
- 4. Backup all Varnish configuration files (vcl files, param files) before upgrading
- 5. Review the Varnish upgrade documentation for your specific distribution for proper upgrade procedures
- 6. After upgrade, restart the Varnish service to load the fixed version
- 7. Verify the upgrade was successful by checking the version with 'varnishd -V'
- 8. Test HTTP/2 connections to confirm the workspace overflow issue is resolved
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation8.0 h
- Testing6.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 $5,600.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-40394 — 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-40394 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