CVE-2026-22599 json
Strapi Vulnerable to SQL Injection in Content Type Builder
published 2026-05-13 5 mo ago modified 2026-10-26 13 d ago also EUVD-2026-30352 , GHSA-3xcq-8mjw-h6mx
- cvss
- 7.2
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 67%
- public exploits
- 0
- none known
Summary
Strapi is an open source headless content management system. In versions on the 4.x branch prior to 4.26.1 and on the 5.x branch prior to 5.33.2, a database-query injection vulnerability existed in the Strapi Content-Type Builder write API. An authenticated administrator could inject arbitrary database statements through the `column.defaultTo` attribute when creating or modifying a content type. Setting `defaultTo` as a tuple `[value, { isRaw: true }]` caused the value to be passed directly into Knex's `db.connection.raw()` during schema migration without sanitization, allowing arbitrary statement execution at the database layer. Depending on the database engine, this enabled arbitrary file read via database utility functions, denial of service via forced server crash on schema-migration error, and on engines that permit external program execution, remote code execution against the database server. The patch in versions 4.26.1 and 5.33.2 addresses this by restricting all Content-Type Builder write APIs to development mode only. Production deployments running v5.33.2 or later return 404 for requests against `/content-type-builder/content-types` and related endpoints, removing the network-reachable attack surface entirely.
Patch / fix
- npm @strapi/content-type-builder 5.33.2
- npm @strapi/plugin-content-type-builder 4.26.1
- strapi strapi 4.26.1, 5.33.2
- strapi content-type-builder 4.26.1, 5.33.2
- strapi strapi/content-type-builder 4.26.1, 5.33.2
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 5 mo ago
Exploit prediction
1.18% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N |
| CNA | 4.0 | 9.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.2 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @strapi/content-type-builder | >=5.0.0, <5.33.2 |
5.33.2 |
| npm | @strapi/plugin-content-type-builder | >=4.0.0, <4.26.1 |
4.26.1 |
Affected products
- strapi strapi
- strapi @strapi/content-type-builder
Classification
- Weakness
-
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command
References
-
github.com
/strapi/strapi/releases/tag/v4.26.1
web, patch, product
-
github.com
/strapi/strapi/releases/tag/v5.33.2
web, patch, product
-
github.com
/strapi/strapi/security/advisories/GHSA-3xcq-8mjw-h6mx
web, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-22599
advisory
-
github.com
/strapi/strapi
package
Sources
- CVE List CVE-2026-22599
- GitHub Advisory GHSA-3xcq-8mjw-h6mx
- NVD CVE-2026-22599
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.