CVE-2026-58655
HighCVSS 8.8Exploitation Probability (EPSS)
Elevated risk61th percentile - higher than 61% of all known CVEs
Summary
The Grav Flex Objects plugin before version 1.4.0 contains a stored server-side template injection vulnerability. When rendering dynamic collection or object titles, user-controlled frontmatter values are passed to Twig's template_from_string(), causing them to be evaluated as Twig code rather than text. This bypasses Grav's Security::cleanDangerousTwig() sanitization.
Risk Assessment
An attacker who can control the title frontmatter of a publicly accessible Flex Objects page can achieve arbitrary Twig execution and escalate to remote command execution via access to internal Grav services such as the scheduler. This could lead to full server compromise.
Recommendation
Immediately update the Grav Flex Objects plugin to version 1.4.0 or later. If an update is not possible, restrict access to Flex Objects pages to trusted users only and verify that no malicious values have already been injected.
Other vulnerabilities in Grav Flex Objects plugin
Original NVD description (English source)
The bundled Grav Flex Objects plugin (getgrav/grav-plugin-flex-objects) before 1.4.0 contains a stored server-side template injection vulnerability. When rendering dynamic collection or object titles, the plugin passes user-controlled frontmatter values (page.header.flex.collection.title or page.header.flex.object.title) to Twig's template_from_string(), causing them to be evaluated as Twig code rather than treated as text. This path bypasses Grav's Security::cleanDangerousTwig() sanitization. An attacker who can control the title frontmatter of a publicly reachable Flex Objects page can achieve arbitrary Twig execution and escalate to remote command execution via access to internal Grav services such as the scheduler.

