CRITICAL🇬🇧 English

CVE-2026-22599

SQL Injection w Strapi Content-Type Builder — możliwe RCE i odczyt plików

CVSS 9.3v4.0pub. 2026-05-14upd. 2026-05-16

W gałęziach 4.x i 5.x systemu CMS Strapi wykryto podatność typu SQL injection w API zapisu Content-Type Builder. Uwierzytelniony administrator może wstrzyknąć dowolne polecenia do warstwy bazy danych, co — w zależności od silnika bazodanowego — może prowadzić do odczytu plików, DoS lub zdalnego wykonania kodu.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Podatność wynika z braku sanityzacji wartości atrybutu `column.defaultTo` podczas tworzenia lub modyfikowania typu zawartości. Przekazanie wartości jako krotki `[value, { isRaw: true }]` powodowało, że wartość była przekazywana bezpośrednio do funkcji `db.connection.raw()` biblioteki Knex podczas migracji schematu, bez jakiejkolwiek weryfikacji. W ten sposób atakujący mógł wykonać dowolne polecenia SQL na poziomie silnika bazodanowego. Na silnikach oferujących funkcje odczytu plików lub uruchamiania zewnętrznych programów zakres ataku rozszerza się odpowiednio o odczyt plików serwera oraz zdalne wykonanie kodu (RCE).

Skutki

Atakujący z uprawnieniami administratora może wykonywać dowolne polecenia SQL, co w praktyce umożliwia odczyt plików serwera poprzez wbudowane funkcje bazodanowe, wywołanie awarii serwera (DoS) przez błąd migracji schematu, a na niektórych silnikach bazodanowych — zdalne wykonanie kodu (RCE) na serwerze bazy danych.

Mitygacja

Należy zaktualizować Strapi do wersji 4.26.1 (gałąź 4.x) lub 5.33.2 (gałąź 5.x). Patch ogranicza dostęp do wszystkich API zapisu Content-Type Builder wyłącznie do trybu deweloperskiego; środowiska produkcyjne działające na wersji 5.33.2 lub nowszej zwracają odpowiedź 404 na żądania do endpointów `/content-type-builder/content-types` i pokrewnych, eliminując podatną powierzchnię ataku.

Kogo dotyczy

Strapi w gałęzi 4.x we wszystkich wersjach przed 4.26.1 oraz w gałęzi 5.x we wszystkich wersjach przed 5.33.2

Uwagi

Pomimo wymagania uprawnień administratora (PR:H), wektor sieciowy (AV:N) oraz możliwy wpływ na systemy powiązane (SC:H, SI:H) skutkują oceną CVSS 9.3 w standardzie CVSS 4.0. Poprawka zmienia architekturę dostępu do API — w trybie produkcyjnym endpoint jest całkowicie niedostępny sieciowo.

CVSS Vector
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
  • Strapi

    APP
    Strapi
    4.0.0 – 4.26.1 (bez)5.0.0 – 5.33.2 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDoSSQLi
CWE
Referencje

Powiązane podatności

CVE-2026-27886CRITICAL9.2PL ✓ten sam produkt

Strapi: Path Traversal w filtrach relacyjnych umożliwia przejęcie konta admina

CVE-2022-27263CRITICAL9.8ten sam produkt

An arbitrary file upload vulnerability in the file upload module of Strapi v4.1.5 allows attackers to execute ...

CVE-2020-27664CRITICAL9.8ten sam produkt

admin/src/containers/InputModalStepperProvider/index.js in Strapi before 3.2.5 has unwanted /proxy?url= functi...

CVE-2019-18818CRITICAL9.8ten sam produkt

strapi before 3.0.0-beta.17.5 mishandles password resets within packages/strapi-admin/controllers/Auth.js and ...

CVE-2024-56143HIGH8.2ten sam produkt

Strapi is an open-source headless content management system. In versions from 5.0.0 to before 5.5.2, the looku...