critical9.2
CVE-2026-59989
Phalcon Volt compiler `join` filter compile-time PHP code injection (SSTI leads to RCE)
Impact
Phalcon is a high-performance, full-stack PHP framework. In 5.15.0 and earlier, resolveFilter in phalcon/Mvc/View/Engine/Volt/Compiler.zep builds the join filter by inserting the raw separator and array token values into generated PHP without passing them through expression(). An attacker who can influence Volt template source can place quote-breaking content in a join argument, inject PHP into the compiled cache file, and execute it when Phalcon\Mvc\View\Engine\Volt::render() loads the template. This issue is fixed in version 5.16.0.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| composer | phalcon/cphalcon | <= 5.15.0 | 5.16.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-hrwp-4hh9-c8r8
- https://github.com/phalcon/cphalcon/security/advisories/GHSA-hrwp-4hh9-c8r8
- https://github.com/phalcon/cphalcon/pull/17217
- https://github.com/phalcon/cphalcon/commit/e434061be3b7161930476c1368c868badc71e1bd
- https://github.com/phalcon/cphalcon/releases/tag/v5.16.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-59989