getkirbyのkirbyにおけるテンプレートエンジンで使用される特殊な要素の不適切な無効化に関する脆弱性
タイトル getkirbyのkirbyにおけるテンプレートエンジンで使用される特殊な要素の不適切な無効化に関する脆弱性
概要

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`ソースからのオプション値のクエリ解決を二重に行わないようにしました。現在はブループリントに直接設定されたクエリのみを解決しています。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年4月24日0:00
登録日 2026年4月30日12:30
最終更新日 2026年4月30日12:30
CVSS3.0 : 重要
スコア 8.1
ベクター CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
影響を受けるシステム
getkirby
kirby 4.9.0 未満
kirby 5.0.0 以上 5.4.0 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年04月30日]
  掲載
2026年4月30日12:30

NVD脆弱性情報
CVE-2026-34587
概要

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.

公表日 2026年4月24日10:16
登録日 2026年4月25日4:07
最終更新日 2026年4月28日4:15
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:* 4.9.0
cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:* 5.0.0 5.4.0
関連情報、対策とツール
共通脆弱性一覧