Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. phalcon/cphalcon
  4. ›
  5. CVE-2026-59989

CVE-2026-59989: Phalcon Volt compiler `join` filter compile-time PHP code injection (SSTI leads to RCE)

August 21, 2026

The Volt template compiler in Phalcon generates the PHP for the join filter by string-concatenating the filter’s raw template-literal argument bytes with no escaping. The separator literal is dropped verbatim between two single quotes the compiler emits, and the piped array argument is emitted completely bare. A Volt template whose join arguments are attacker-influenced can therefore break out of the generated join('…') call and inject arbitrary PHP into the compiled template. Volt writes that compiled template to a cache file and require()s it at render time, so the injected PHP executes i.e. compile-time PHP code injection (server-side template injection -> remote code execution) for any application that compiles attacker-controlled Volt source.

References

  • github.com/advisories/GHSA-hrwp-4hh9-c8r8
  • github.com/phalcon/cphalcon/commit/e434061be3b7161930476c1368c868badc71e1bd
  • github.com/phalcon/cphalcon/pull/17217
  • github.com/phalcon/cphalcon/releases/tag/v5.16.0
  • github.com/phalcon/cphalcon/security/advisories/GHSA-hrwp-4hh9-c8r8
  • nvd.nist.gov/vuln/detail/CVE-2026-59989

Code Behaviors & Features

Detect and mitigate CVE-2026-59989 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 5.16.0

Fixed versions

  • 5.16.0

Solution

Upgrade to version 5.16.0 or above.

Weakness

  • CWE-1336: Improper Neutralization of Special Elements Used in a Template Engine
  • CWE-94: Improper Control of Generation of Code ('Code Injection')

Source file

packagist/phalcon/cphalcon/CVE-2026-59989.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 22 Aug 2026 12:17:17 +0000.