# CVE-2026-102650: Nuxt Content unauthenticated SQL injection in query endpoint

Source: https://junglewise.ai/threats/cve-2026-102650-nuxt-content-is-the-file-based-cms-for-nuxt-applications-powered  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-06. Updated: 2026-11-06  
License: CC BY 4.0 with a link back

CVE-2026-102650 · Severity: high · CVSS 7.5 · Published 2026-11-06

Nuxt Content is a file-based CMS for Nuxt applications. An unauthenticated attacker can submit specially crafted SQL queries to the content API endpoint that bypass security checks, consuming excessive CPU and memory to freeze the application and block all concurrent requests. Fully static prerendered deployments without exposed server endpoints are unaffected.

Vendors: [npm](https://junglewise.ai/threats/vendors/npm), [Nuxt](https://junglewise.ai/threats/vendors/nuxt).

## Quick answers

**Is CVE-2026-102650 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-102650 being exploited in the wild.

**How severe is CVE-2026-102650?** High severity, with a CVSS score of 7.5, published 6 November 2026.

**Which products and versions are affected?** @nuxt/content (npm) >= 3.0.0, < 3.15.2, SEMVER:introduced=3.0.0,fixed=3.15.2; Nuxt Content 3.0.0 to 3.15.1.

**Is there a fix for CVE-2026-102650?** Yes. @nuxt/content (npm): upgrade to 3.15.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-102650 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-102650?** Check whether you run @nuxt/content (npm) or Nuxt Content at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @nuxt/content (npm): upgrade to 3.15.2 or later

  ```sh
  npm install @nuxt/content@3.15.2
  ```


## Technical details

The /__nuxt_content/:collection/query POST endpoint accepts user-controlled SQL in the query field, passed to better-sqlite3. Query validation via assertSafeQuery only rejects a short list of SQL keywords but permits function calls (randomblob, zeroblob, hex, length) in WHERE clauses. An unauthenticated remote attacker can trigger synchronous expensive SQLite expressions that block the Node.js event loop, causing denial of service.

## Affected products

- Nuxt Content 3.0.0 to 3.15.1

## Identifiers

- CVE-2026-102650
- GHSA-xxrh-5hgg-gj4h

## Timeline

- 2026-11-06: disclosed
- 2026-07-23: patched

## References

- [https://github.com/nuxt/content/commit/847d523a48e76d861175b325abf0de40dc5864ed](https://github.com/nuxt/content/commit/847d523a48e76d861175b325abf0de40dc5864ed)
- [https://github.com/nuxt/content/pull/3819](https://github.com/nuxt/content/pull/3819)
