All vulnerabilities
CVE-2026-105856CVE-2026-63316GHSA-pj7x-6wpf-pgvp

@payloadcms/db-sqlite: Payload: SQL injection in SQLite/Postgres

payloadcms @payloadcms/db-sqlitenpmDatabases
CVSS
8.6High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.29%Chance of exploitation activity in the next 30 days, higher than 20% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in3.90.0Also 3.73.0, 4.0.0-canary.34GitHub
Published6 Oct 2026Updated 14 Oct 2026CVE List

What fixes it

  • 3.90.0@payloadcms/db-sqlite, npmGitHubnpm install @payloadcms/db-sqlite@3.90.0
  • 3.90.0@payloadcms/db-d1-sqlite, npmGitHubnpm install @payloadcms/db-d1-sqlite@3.90.0
  • 3.73.0@payloadcms/db-postgres, npmGitHubnpm install @payloadcms/db-postgres@3.73.0
  • 3.73.0@payloadcms/db-vercel-postgres, npmGitHubnpm install @payloadcms/db-vercel-postgres@3.73.0
  • 4.0.0-canary.34@payloadcms/db-sqlite, npmGitHubnpm install @payloadcms/db-sqlite@4.0.0-canary.34
  • 4.0.0-canary.34@payloadcms/db-d1-sqlite, npmGitHubnpm install @payloadcms/db-d1-sqlite@4.0.0-canary.34

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

An attacker who has read plus create or update access to a collection can submit a request that includes a SQL injection targeting a specific field path shape and operators in Payload's SQLite and Postgres.

You are affected if:

  • You use @payloadcms/db-sqlite or @payloadcms/db-d1-sqlite.
  • You use @payloadcms/db-postgres or @payloadcms/db-vercel-postgres < 3.73.0.
  • A readable collection has a json field, or a blocks field with blocksAsJSON: true.
  • The attacker has read plus create or update access on it.

You are not affected if:

  • You have no json or blocksAsJSON fields. richText` is not affected.
  • You run a patched version.

Patches

The patched version sanitizes the query input to prevent injection.

Users should upgrade Payload packages to >= 3.90.0 or >= 4.0.0-canary.34.

Text from GitHub Advisory Database

Affected versions 20

  • @payloadcms/db-sqlite, npm>= 3.0.0, < 3.90.0GitHub
  • @payloadcms/db-d1-sqlite, npm>= 3.0.0, < 3.90.0GitHub
  • @payloadcms/db-postgres, npm>= 3.0.0, < 3.73.0GitHub
  • @payloadcms/db-vercel-postgres, npm>= 3.0.0, < 3.73.0GitHub
  • @payloadcms/db-sqlite, npm>= 4.0.0-canary.0, < 4.0.0-canary.34GitHub
  • @payloadcms/db-d1-sqlite, npm>= 4.0.0-canary.0, < 4.0.0-canary.34GitHub
  • payloadaffected: >= 3.0.0, < 3.90.0CVE List
  • payloadaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
  • db-d1-sqliteaffected: >= 3.0.0, < 3.90.0CVE List
  • db-d1-sqliteaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
  • db-postgresaffected: >= 3.0.0 < 3.73.0CVE List
  • db-sqliteaffected: >= 3.0.0, < 3.90.0CVE List
  • db-sqliteaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
  • db-vercel-postgresaffected: >= 3.0.0 < 3.73.0CVE List
  • @payloadcms/db-sqlite, npmfrom 3.0.0, fixed in 3.90.0OSV
  • @payloadcms/db-d1-sqlite, npmfrom 3.0.0, fixed in 3.90.0OSV
  • @payloadcms/db-postgres, npmfrom 3.0.0, fixed in 3.73.0OSV
  • @payloadcms/db-vercel-postgres, npmfrom 3.0.0, fixed in 3.73.0OSV
  • @payloadcms/db-sqlite, npmfrom 4.0.0-canary.0, fixed in 4.0.0-canary.34OSV
  • @payloadcms/db-d1-sqlite, npmfrom 4.0.0-canary.0, fixed in 4.0.0-canary.34OSV

References 5