CVE-2026-71321: Nuxt: Unauthenticated CPU exhaustion parsing and hashing the Nuxt island endpoint body before hash validation
The internal island renderer endpoint (/__nuxt_island/...) decodes and hashes attacker-controlled request input before it validates the URL-resident hash. An unauthenticated POST /__nuxt_island/<name>_<anything>.json with a large JSON body (for example ~4.6 MB / 150k keys) is fully read, destr-parsed, and run through ohash before the request is rejected with a 400. Because Nitro runs on a single event loop, this both wastes CPU on the doomed request and delays every concurrent request. A low request rate is enough to degrade or stall the server. No valid hash and no authentication are required.
References
- github.com/advisories/GHSA-9pgf-384g-p7mv
- github.com/nuxt/nuxt/commit/4e35ae9babd94be53246e31200232d48438bb34e
- github.com/nuxt/nuxt/commit/668cdfdfda41849ed11c1ee5e2067a11fc103b22
- github.com/nuxt/nuxt/releases/tag/v3.21.10
- github.com/nuxt/nuxt/releases/tag/v4.5.1
- github.com/nuxt/nuxt/security/advisories/GHSA-9pgf-384g-p7mv
- nvd.nist.gov/vuln/detail/CVE-2026-71321
Code Behaviors & Features
Detect and mitigate CVE-2026-71321 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →