getkirbyのkirbyにおけるテンプレートエンジンで使用される特殊な要素の不適切な無効化に関する脆弱性
| Title |
getkirbyのkirbyにおけるテンプレートエンジンで使用される特殊な要素の不適切な無効化に関する脆弱性
|
| Summary |
Kirbyはオープンソースのコンテンツ管理システムです。バージョン4.9.0および5.4.0以前のKirbyでは、ユーザー権限によりCMS内のコンテンツモデルに対して特定のアクションを実行できるユーザーロールが制御されていました。これらの権限はユーザーブループリント(`site/blueprints/users/...`)の各ロールごとに定義されています。また、`options`機能を用いてモデルブループリント(例:`site/blueprints/pages/...`)ごとに権限をカスタマイズすることも可能です。権限とオプションはユーザーアクションの認可を総合的に制御します。ページに関しては、Kirbyは`pages.create`や`pages.changeStatus`の権限(他にも)を提供しています。影響を受けるリリースでは、Kirbyはこれらの権限を独立して、かつそれぞれのアクションに対してのみチェックしていました。しかし、`changeStatus`権限はページ作成時には機能していませんでした。新しいページはデフォルトでドラフトとして作成され、既存のページドラフトのステータスを変更して公開する必要がありました。これはKirbyパネル経由でページが作成される際に保証されていますが、REST APIでは新規ページ作成時に`isDraft`フラグを上書き可能でした。これにより、認証済みの攻撃者が`pages.create`権限を持つ場合、通常の編集ワークフローを回避して即座に公開ページを作成できてしまいました。この問題はKirby 4.9.0および5.4.0で修正されています。Kirbyは`Options`ロジックを更新し、`OptionsQuery`や`OptionsApi`ソースからのオプション値のクエリ解決を二重に行わないようにしました。現在はブループリントに直接設定されたクエリのみを解決しています。
|
| Possible impacts |
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date |
April 24, 2026, midnight |
| Registration Date |
April 30, 2026, 12:30 p.m. |
| Last Update |
April 30, 2026, 12:30 p.m. |
|
CVSS3.0 : 重要
|
| Score |
8.1
|
| Vector |
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected System
| getkirby |
|
kirby 4.9.0 未満
|
|
kirby 5.0.0 以上 5.4.0 未満
|
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
| No |
Changed Details |
Date of change |
| 1 |
[2026年04月30日] 掲載 |
April 30, 2026, 12:30 p.m. |
NVD Vulnerability Information
CVE-2026-34587
| Summary |
Kirby is an open-source content management system. Prior to versions 4.9.0 and 5.4.0, Kirby's user permissions control which user role is allowed to perform specific actions to content models in the CMS. These permissions are defined for each role in the user blueprint (`site/blueprints/users/...`). It is also possible to customize the permissions for each target model in the model blueprints (such as in `site/blueprints/pages/...`) using the `options` feature. The permissions and options together control the authorization of user actions. For pages, Kirby provides the `pages.create` and `pages.changeStatus` permissions (among others). In affected releases, Kirby checked these permissions independently and only for the respective action. However the `changeStatus` permission didn't take effect on page creation. New pages are created as drafts by default and need to be published by changing the page status of an existing page draft. This is ensured when the page is created via the Kirby Panel. However the REST API allows to override the `isDraft` flag when creating a new page. This allowed authenticated attackers with the `pages.create` permission to immediately create published pages, bypassing the normal editorial workflow. The problem has been patched in Kirby 4.9.0 and Kirby 5.4.0. Kirby has updated the `Options` logic to no longer double-resolve queries in option values coming from `OptionsQuery` or `OptionsApi` sources. Kirby now only resolves queries that are directly configured in the blueprints.
|
| Publication Date |
April 24, 2026, 10:16 a.m. |
| Registration Date |
April 25, 2026, 4:07 a.m. |
| Last Update |
April 28, 2026, 4:15 a.m. |
Affected software configurations
| Configuration1 |
or higher |
or less |
more than |
less than |
| cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:* |
|
|
|
4.9.0 |
| cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:* |
5.0.0 |
|
|
5.4.0 |
Related information, measures and tools
Common Vulnerabilities List