Impact
Twig processing of static pages can be enabled in the front matter by any administrative user allowed to create or edit pages.
As the Twig processor runs unsandboxed, this behavior can be used to gain arbitrary code execution and elevate privileges on the instance.
Patches
The issue was addressed by preventing dangerous functions from being called in Twig templates. A configuration option has been added to manually allow arbitrary PHP functions (system.twig.safe_functions
) and filters (system.twig.safe_filters
).
Futures major versions of Grav may disable this functionality by default.
Workarounds
Blocking access to the /admin
path from untrusted sources will reduce the probability of exploitation.
References
For more information
If you have any questions or comments about this advisory, you can contact:
- The original reporters, by sending an email to vulnerability.research [at] sonarsource.com;
- The maintainers, by opening an issue on this repository.
Impact
Twig processing of static pages can be enabled in the front matter by any administrative user allowed to create or edit pages.
As the Twig processor runs unsandboxed, this behavior can be used to gain arbitrary code execution and elevate privileges on the instance.
Patches
The issue was addressed by preventing dangerous functions from being called in Twig templates. A configuration option has been added to manually allow arbitrary PHP functions (
system.twig.safe_functions
) and filters (system.twig.safe_filters
).Futures major versions of Grav may disable this functionality by default.
Workarounds
Blocking access to the
/admin
path from untrusted sources will reduce the probability of exploitation.References
For more information
If you have any questions or comments about this advisory, you can contact: