| Title | strapiにおけるSQL インジェクションの脆弱性 |
|---|---|
| Summary | Strapiはオープンソースのヘッドレスコンテンツ管理システムです。4.x系の4.26.1未満のバージョンおよび5.x系の5.33.2未満のバージョンにおいて、Strapi Content-Type Builderの書き込みAPIにデータベースクエリインジェクションの脆弱性が存在しました。認証済みの管理者はcontent typeの作成や変更時に`column.defaultTo`属性を通じて任意のデータベースステートメントを注入可能でした。`defaultTo`をタプル`[value, {isRaw: true}]`として設定すると、値がスキーママイグレーション時にKnexの`db.connection.raw()`へサニタイズなしで直接渡され、データベース層で任意のステートメントが実行されてしまいます。使用しているデータベースエンジンに依存して、この脆弱性によりデータベースユーティリティ関数を使った任意ファイル読み取り、スキーママイグレーションエラー時の強制サーバークラッシュによるサービス拒否、外部プログラム実行が許されているエンジンではデータベースサーバーに対するリモートコード実行が可能となります。4.26.1および5.33.2のパッチでは、Content-Type Builderの書き込みAPIを開発モードのみに制限することでこの問題に対処しました。v5.33.2以降の本番環境では`/content-type-builder/content-types`および関連エンドポイントへのリクエストに対して404を返すため、ネットワークからアクセス可能な攻撃面を完全に排除しています。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 14, 2026, midnight |
| Registration Date | May 18, 2026, 12:07 p.m. |
| Last Update | May 18, 2026, 12:07 p.m. |
| CVSS3.0 : 重要 | |
| Score | 7.2 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
| strapi |
| strapi 4.0.0 以上 4.26.1 未満 |
| strapi 5.0.0 以上 5.33.2 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月18日] 掲載 |
May 18, 2026, 12:07 p.m. |
| 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. |
|---|---|
| Publication Date | May 15, 2026, 4:16 a.m. |
| Registration Date | May 17, 2026, 4:09 a.m. |
| Last Update | May 16, 2026, 12:25 p.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:strapi:strapi:*:*:*:*:*:node.js:*:* | 4.0.0 | 4.26.1 | |||
| cpe:2.3:a:strapi:strapi:*:*:*:*:*:node.js:*:* | 5.0.0 | 5.33.2 | |||