CVE-2026-100671
Grav 2.0.25 未満における Twig Sandbox 経由のセッション Cookie 窃取
- 公開済み
- 2026/09/26
- 更新済み
- 2026/09/26
- CNA の割り当て
- VulnCheck
- 観察された証拠
- 2026/10/03
Grav 2.0.25 未満における Twig Sandbox 経由のセッション Cookie 窃取
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/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:XGravはフラットファイルCMSです。バージョン2.0.19から2.0.24まで — および2.0.0から2.0.18、そして1.7.x系ではコンテンツTwigが明示的に有効化されている場合に限り — ページ書き込み権限のみを持つユーザーが作成したページコンテンツは、Twigサンドボックスを通じてレンダリングされます。このサンドボックスはget_cookie()を許可リストに登録しており、これは現在のリクエストと共に送信されたあらゆるCookie(訪問者のセッションCookieを含む)を返します。読み取りはfilter_input(INPUT_COOKIE, ...)を介してサーバーサイドで行われるため、HttpOnly、Secure、SameSite属性は保護として機能しません。その後Gravは、Twig処理後の最終出力をページコンテンツキャッシュに保存しますが、このキャッシュはページの識別情報と設定チェックサムのみをキーとしており、セッション、ユーザー、リクエストの次元を持たず、認証済み訪問者向けのバイパスも存在しません。したがって、ページ書き込み権限を持つユーザーが公開したページは、それを閲覧した次の管理者のセッション識別子を取得でき、その後キャッシュされた出力がその識別子を未認証の訪問者に提供し、訪問者はそのCookieをリプレイしてその管理者として認証することができます。2.0.19以降、security.twig_content.process_enabledはデフォルトでtrueとなり、Security::applyTwigContentDefault()がそのゲートから各ページのprocess.twigフラグを導出するため、コンテンツTwigはフロントマターやオペレーターの操作なしにすべてのページで実行されます。2.0.25で修正済み。1.7.x系はバックポートの対象外です。
CVE-2026-100671 のローカル専用概念実証検証ツール。ループバックターゲットに対して Grav Twig ページキャッシュのセッション Cookie 漏洩とリプレイを再現します。
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。