Cyber Resilience

CVE-2025-27415

Nuxt 3.0.0 – 3.16.0

Published
19 March 2025
Modified
03 December 2025
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.0036 29th percentile
Risk Priority 57 floored blend · peak EPSS

Summary

CVE-2025-27415 is a high-severity Acceptance of Extraneous Untrusted Data With Trusted Data (CWE-349) vulnerability in Nuxt Nuxt. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Subvert Trust Controls (T1553); ranked at the 29th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2025-27415 is a cache poisoning vulnerability affecting Nuxt, an open-source web development framework for Vue.js, in versions prior to 3.16.0. The issue arises when a Nuxt server is deployed behind a CDN that ignores query strings when determining cache keys for routes. By sending a crafted HTTP request, such as https://mysite.com/?/_payload.json, an attacker can trigger a JSON response that gets cached by the CDN and inadvertently served to subsequent visitors, disrupting normal site functionality. The vulnerability is rated with a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) and is associated with CWE-349 (Acceptance of Extraneous Untrusted Data With Trusted Data).

Any remote attacker without authentication or user interaction can exploit this vulnerability by crafting and sending the malicious request to a vulnerable Nuxt site behind a susceptible CDN configuration. Successful exploitation poisons the CDN cache, causing the site to serve invalid JSON responses to legitimate users instead of the expected HTML, leading to high-impact denial of service that renders the site unavailable indefinitely. Attackers can exacerbate this by automating requests at intervals matching the CDN's caching duration to perpetually refresh the poisoned cache entry.

The Nuxt security advisory at https://github.com/nuxt/nuxt/security/advisories/GHSA-jvhm-gjrh-3h93 details the fix implemented in version 3.16.0, which prevents the crafted requests from generating cacheable JSON responses. Security practitioners should upgrade to Nuxt 3.16.0 or later and review CDN configurations to ensure query strings are properly considered in cache keys.

EU & UK References

Vulnerability Data

Nuxt is an open-source web development framework for Vue.js. Prior to 3.16.0, by sending a crafted HTTP request to a server behind an CDN, it is possible in some circumstances to poison the CDN cache and highly impacts the availability…

more

of a site. It is possible to craft a request, such as https://mysite.com/?/_payload.json which will be rendered as JSON. If the CDN in front of a Nuxt site ignores the query string when determining whether to cache a route, then this JSON response could be served to future visitors to the site. An attacker can perform this attack to a vulnerable site in order to make a site unavailable indefinitely. It is also possible in the case where the cache will be reset to make a small script to send a request each X seconds (=caching duration) so that the cache is permanently poisoned making the site completely unavailable. This vulnerability is fixed in 3.16.0.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1553 Subvert Trust Controls Defense Impairment
Adversaries may undermine security controls that will either warn users of untrusted activity or prevent execution of untrusted programs.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-56301Same product: Nuxt Nuxt
CVE-2026-56698Same product: Nuxt Nuxt
CVE-2026-53721Same product: Nuxt Nuxt
CVE-2023-0878Same product: Nuxt Nuxt
CVE-2024-23657Same product: Nuxt Nuxt
CVE-2026-56326Same product: Nuxt Nuxt
CVE-2024-42352Same product: Nuxt Nuxt
CVE-2026-56697Same product: Nuxt Nuxt
CVE-2024-34344Same product: Nuxt Nuxt
CVE-2023-3224Same product: Nuxt Nuxt

Affected Assets

nuxt
nuxt
3.0.0 — 3.16.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 5 hardening rules · 2 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.2.2
  • V10.4.7
  • V3.7.3
  • V5.3.1

Mitigating Controls (NIST 800-53 r5) AI

Information flow enforcement can block untrusted data from being accepted or processed as if it were trusted.

Input validation directly stops acceptance of untrusted data mixed into trusted inputs.

Associating security attributes with data allows the system to distinguish and reject extraneous untrusted portions.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly address proper trust-boundary enforcement and input validation, preventing this class of weakness during development.

PR.DS-01 partial match
prevents

Cryptographic integrity checks on data-at-rest can detect tampering or substitution of untrusted content mixed with trusted data.

PR.DS-02 partial match
prevents

Cryptographic integrity mechanisms on data-in-transit can prevent acceptance of extraneous untrusted data by validating origin and detecting modification.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect the weakness but does not itself implement preventive controls.

prevents

Secure development lifecycle mandates input validation and trust-boundary enforcement that directly prevents acceptance of untrusted data alongside trusted data.

prevents

Application security requirements explicitly call for strict separation and validation of trusted versus untrusted data sources.

prevents

Secure architecture principles require explicit trust boundaries and data-origin checks that mitigate mixing of trusted and untrusted inputs.

prevents

Secure coding standards mandate input sanitization and provenance checks that prevent acceptance of extraneous untrusted data.

none

Information access restriction limits who can supply data but does not address validation of data origin or trust level.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248574 YUM must be configured to prevent the installation of patches, service packs, device drivers, or OL 8 system components that have not been digitally signed using a certificate that is recognized and approved by the organization. prevents CWE-349

References