Summary
Vulnerability in Bolt Cms (CVE-2026-71291). Successful exploitation can lead to full system takeover.
Original description
The description as published by the source.
Bolt CMS renders content field values through Twig's full application-level Environment with no SandboxExtension registered anywhere in the codebase. In src/Entity/Field.php, getTwigValue() calls shouldBeRenderedAsTwig(), which gates rendering only on the field definition's allow_twig flag and a regex checking for {{, {%, or {#; when true, the raw field value is compiled and rendered via self::getTwig()->createTemplate($value)->render(['record' => $this->getContent()]) with no sandboxing. Bolt's own bundled config/bolt/contenttypes.yaml sets allow_twig: true on the default "pages" contenttype's content field out of the box. Any user with edit access to that content type (a standard editor role, not just an administrator) can inject a Twig payload such as {{ ['id']|map('passthru')|join }} that executes arbitrary OS commands when the content is saved and rendered, achieving remote code execution as the web server user.
Source: NIST National Vulnerability Database NVD GitHub Advisory
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
Bolt CMSのcontent fieldは、Twig環境をサンドボックスなしで使用し、任意のOSコマンドが実行可能となる脆弱性が発見されました。defaultの"pages" contenttypeでは、allow_twigがtrueに設定され、編集アクセスを持つユーザーは不正なTwigペイロードを挿入できます。これにより、Webサーバーのユーザー権限でのリモートコード実行が可能になります。この問題は高リスクであり、CWE-1336に該当します。
Bolt CMSでTwigのサンドボックスなしでのレンダリングが行え、任意のOSコマンドが実行可能。
Bolt CMSのcontent fieldに関する部分。
任意のOSコマンドが実行可能で、重大なリモートコード実行脆弱性となる。
Twigのsandbox機能を有効にして、サンドボックス内でのテンプレートレンダリングを行う。
管理者がcontent fieldの"allow_twig"をfalseに設定し、サンドボックスされていないTwigの実行を防ぐ。
サーバーログでTwigのテンプレートエラーや不正なコマンド実行の形跡を確認する。
References
- web github.com
- web github.com
- web nvd.nist.gov
- web github.com