Skip to main content
← All vulnerabilities
CVE-2026-24895GO-2026-4486GHSA-G966-83W7-6W38

FrankenPHP affected by Path Confusion via Unicode casing in CGI path splitting allows execution of arbitrary files

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.11.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

FrankenPHP is a modern application server for PHP. Prior to 1.11.2, FrankenPHP’s CGI path splitting logic improperly handles Unicode characters during case conversion. The logic computes the split index (for finding .php) on a lowercased copy of the request path but applies that byte index to the original path. Because strings.ToLower() in Go can increase the byte length of certain UTF-8 characters (e.g., Ⱥ expands when lowercased), the computed index may not align with the correct position in the original string. This results in an incorrect SCRIPT_NAME and SCRIPT_FILENAME, potentially causing FrankenPHP to execute a file other than the one intended by the URI. This vulnerability is fixed in 1.11.2.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • php frankenphp

    fixed in 1.11.2

  • github.com/dunglas/frankenphpGo

    fixed in 1.11.2

References 3

GitHub · php/frankenphp