8.6 HIGH
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): None (N)
- Privileges Required (PR): Low (L)
- User Interaction (UI): Passive (P)
- Vulnerable System Impact Confidentiality (VC): High (H)
- Vulnerable System Impact Integrity (VI): High (H)
- Vulnerable System Impact Availability (VA): High (H)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): None (N)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): Passive (P)
- Modified Vulnerable System Impact Confidentiality (MVC): High (H)
- Modified Vulnerable System Impact Integrity (MVI): High (H)
- Modified Vulnerable System Impact Availability (MVA): High (H)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
Grav before 2.0.25 Session Cookie Theft via Twig Sandbox
Grav is a flat-file CMS. In versions 2.0.19 through 2.0.24 — and in 2.0.0 through 2.0.18 and 1.7.x only where content Twig has been explicitly enabled — page content authored by a user holding only page-write permission is rendered through a Twig sandbox that allowlists get_cookie(), which returns any cookie sent with the current request, including the visitor's session cookie. Because the read occurs server-side via filter_input(INPUT_COOKIE, ...), the HttpOnly, Secure and SameSite attributes offer no protection. Grav then stores the finished post-Twig output in a page-content cache keyed only on page identity and the configuration checksum, with no session, user or request dimension and no bypass for authenticated visitors. A page published by a page-write user can therefore capture the session identifier of the next administrator who views it, after which the cached output serves that identifier to unauthenticated visitors, who can replay the cookie to authenticate as that administrator. Since 2.0.19, security.twig_content.process_enabled defaults to true and Security::applyTwigContentDefault() derives each page's process.twig flag from that gate, so content Twig runs on every page with no frontmatter or operator action. Fixed in 2.0.25; 1.7.x is outside the backport scope.
References
-
GitHub Security Advisory (GHSA-pp89-h475-7gj6) vendor-advisory
-
VulnCheck Advisory: Grav before 2.0.25 Session Cookie Theft via Twig Sandbox third-party-advisory
Affected products
- ==2.0.25
- <2.0.25
Matching in nixpkgs
pkgs.grav
Fast, simple, and flexible, file-based web platform
pkgs.grav_2
Fast, simple, and flexible, file-based web platform
-
nixos-unstable -
- nixos-unstable-small 2.1.8
pkgs.gravit
Beautiful OpenGL-based gravity simulator
pkgs.antigravity
Agentic development platform, evolving the IDE into the agent-first era
pkgs.antigravity-acp
Google's AI coding agent. Official ACP server powered by Antigravity
-
nixos-unstable -
- nixos-unstable-small 1.1.1
pkgs.antigravity-cli
Google's Go-based terminal user interface (TUI) agent client
-
nixos-unstable -
- nixos-unstable-small 1.2.9
pkgs.antigravity-fhs
Wrapped variant of antigravity-ide which launches in a FHS compatible environment, should allow for easy usage of extensions without nix-specific modifications
pkgs.antigravity-hub
Desktop environment for managing multiple autonomous agents across independent projects
-
nixos-unstable -
- nixos-unstable-small 2.12.2
pkgs.antigravity-ide
Agentic development platform, evolving the IDE into the agent-first era
-
nixos-unstable -
- nixos-unstable-small 2.5.5
pkgs.antigravity-ide-fhs
Wrapped variant of antigravity-ide which launches in a FHS compatible environment, should allow for easy usage of extensions without nix-specific modifications
-
nixos-unstable -
- nixos-unstable-small 2.5.5
pkgs.stardust-xr-gravity
Utility to launch apps and stardust clients at an offset
pkgs.kdePackages.libgravatar
Library that provides Gravatar support
pkgs.bulwark-plugins.gravatar
Resolves Gravatar profile pictures for email contacts via the avatar transform hook
-
nixos-unstable -
- nixos-unstable-small 1.3.1
pkgs.gnomeExtensions.gravatar
Synchronize GNOME Shell user icon with an avatar service, one of Gravatar or Libravatar.
pkgs.haskellPackages.gravatar
Generate Gravatar image URLs
pkgs.porting-advisor-for-graviton
AWS Porting Advisor for Graviton helps customers assess and prepare their applications for migration to AWS Graviton processors
-
nixos-unstable -
- nixos-unstable-small 1.1.1
pkgs.python313Packages.libgravatar
Library that provides a Python 3 interface for the Gravatar API
pkgs.python314Packages.libgravatar
Library that provides a Python 3 interface for the Gravatar API
pkgs.python313Packages.flask-gravatar
Small and simple integration of gravatar into flask
pkgs.python314Packages.flask-gravatar
Small and simple integration of gravatar into flask
pkgs.python313Packages.django-gravatar2
Essential Gravatar support for Django
pkgs.python314Packages.django-gravatar2
Essential Gravatar support for Django
pkgs.perlPackages.MojoliciousPluginGravatar
Globally Recognized Avatars for Mojolicious
pkgs.perl5Packages.MojoliciousPluginGravatar
Globally Recognized Avatars for Mojolicious
Package maintainers
-
@xiaoxiangmoe ZHAO JinXiang <xiaoxiangmoe@gmail.com>
-
@schembriaiden Aiden Schembri <aidsch@proton.me>
-
@Zaczero Kamil Monicz <kamil@monicz.dev>
-
@honnip Jung seungwoo <me@honnip.page>
-
@rycee Robert Helgesson <robert@rycee.net>
-
@NickCao Nick Cao <nickcao@nichi.co>
-
@LunNova Luna Nova <nixpkgs-maintainer@lunnova.dev>
-
@nyanloutre Paul Trehiou <paul@nyanlout.re>
-
@K900 Ilya K. <me@0upti.me>
-
@FRidh Frederik Rietdijk <fridh@fridh.nl>
-
@ilya-fedin Ilya Fedin <fedin-ilja2010@ya.ru>
-
@bkchr Bastian Köcher <nixos@kchr.de>
-
@mjm Matt Moriarity <matt@mattmoriarity.com>
-
@SuperSandro2000 Sandro Jäckel <sandro.jaeckel@gmail.com>
-
@peterhoeg Peter Hoeg <peter@hoeg.com>
-
@stigtsp Stig Palmquist <stig@stig.io>
-
@gador Florian Brandes <florian.brandes@posteo.de>
-
@technobaboo Nova King
-
@Pandapip1 Gavin John <gavinnjohn@gmail.com>
-
@johnrtitor Masum Reza <masumrezarock100@gmail.com>
-
@aliheidary1381 Ali Heydari <aliheidary1381@gmail.com>
-
@AdrielVelazquez Adriel Velazquez <AdrielVelazquez@gmail.com>
-
@u3kkasha Fida Waseque Choudhury <fida.waseque@gmail.com>
-
@BohdanTkachenko Bohdan Tkachenko <bohdan@tkachenko.dev>
-
@Cameo007 Pascal Dietrich <cameo007@mintux.de>
-
@jherland Johan Herland <johan@herland.net>