Read the docs
TI-2026-86049 Aliases CVE-2026-102650

Unauthenticated SQLite function denial of service in Nuxt Content

Priority LOW 33CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-400.

Summary

Nuxt Content from 3.0.0 before 3.15.2 exposes an unauthenticated POST endpoint at /__nuxt_content/:collection/query that passes an attacker-controlled sql field to SQLite. The validation rejects some SQL keywords but still permits functions such as randomblob(), zeroblob(), hex() and length(), which is an uncontrolled resource consumption flaw (CWE-400). A remote attacker can send a single request that consumes substantial CPU and memory and blocks the Node.js event loop, stalling all concurrent requests. Fully static prerendered deployments that do not expose the server endpoint are not affected.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

Nuxt Content is the file-based CMS for Nuxt applications, powered by Markdown and Vue components. From 3.0.0 until 3.15.2, the unauthenticated POST /__nuxt_content/:collection/query endpoint accepts an attacker-controlled sql field in src/runtime/api/query.post.ts and permits expensive SQLite expressions. Version 3.0.0 performed no query validation; in affected releases using assertSafeQuery in src/runtime/internal/security.ts, the reported validation gap rejects a short list of SQL command keywords in WHERE clauses but permits function calls including randomblob(), zeroblob(), hex(), and length(). The query reaches the synchronous better-sqlite3 sink in src/runtime/internal/database.server.ts, allowing a single remote request to consume substantial CPU and memory while blocking the Node.js event loop and all concurrent request handling. Fully static prerendered deployments that do not expose the server endpoint are not affected. This issue is fixed in version 3.15.2.

Why it matters now

EPSS 0.0035 28th percentileScored 2026-11-07
Fix Fixed content (nuxt): 3.15.2

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
nuxtcontent3.0.0 to before 3.15.23.15.2Patch availableCNA
  • content Vendornuxt Affected 3.0.0 to before 3.15.2 Fixed in 3.15.2 Patch available CNA

Remediation

Update nuxt content to version 3.15.2, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA content (nuxt) Fixed in 3.15.2

Timeline

  1. 2026-11-06 Threatist record created from CVE-2026-102650
  2. 2026-11-08 Priority changed: MEDIUM → LOW

References

  • TI-2023-03020 Code Injection in nuxt/nuxt CVSS 3.1CRITICAL 9.8
  • TI-2024-28339 Server-Side Request Forgery (SSRF) in nuxt-icon CVSS 3.1HIGH 8.6
  • TI-2024-22685 Remote code execution via the browser when running the test locally in nuxt CVSS 3.1HIGH 8.8
  • TI-2026-26689 Nuxt OG Image vulnerable to DoS via image generation CVSS 4.0MEDIUM 6.9
  • TI-2022-04037 Cross-site Scripting (XSS) - DOM in nuxt/framework CVSS 3.1MEDIUM 6.1
  • TI-2022-04036 Cross-site Scripting (XSS) - Reflected in nuxt/framework CVSS 3.1MEDIUM 6.1
See all 44 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences