This CVE exposes a design assumption in Grav CMS that authentication itself is the trust boundary — and that assumption never accounted for computational cost as a privilege boundary. The vulnerability is reachable through an authenticated editor account combined with the security.twig_content.process_enabled flag, which enables Twig template processing within page content. The regex_replace filter was allowlisted in security.yaml, presumably to prevent code execution or arbitrary function calls. What wasn't modeled: that a regex pattern with catastrophic backtracking (nested quantifiers like (a+)+b) can consume an entire PHP worker during a single request. An authenticated editor can publish such a pattern, and the computational cost is imposed on every site visitor who triggers the processed content — not on the editor themselves. This is "authenticated computational harm to third parties," a threat class that maps poorly to traditional access control thinking. The editor's role scope (editing their own content) has no logical connection to their computational blast radius (visitor CPU consumption). The 2.0.4 fix almost certainly removes regex_replace from the allowlist entirely rather than adding backtracking safeguards — that's the historical norm for ReDoS fixes because pattern complexity validation is difficult to maintain. If so, the flag still exists and someone will re-enable it in a future release, convinced the dangerous part is fixed. Your priority: audit any roles with twig_content.process_enabled and treat template processing access as a higher-threat boundary than a simple role permission. The architectural fix isn't just patching regex_replace — it's recognizing that authenticated users with template processing access have computational authority over visitor requests, and that authority was never governed by the role system. Consider whether any authenticated role should be able to trigger unbounded computational operations through content processing, regardless of the specific filter allowlist.