Read the docs
TI-2026-20080 Aliases CVE-2026-24895GHSA-g966-83w7-6w38

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

Priority MEDIUM 47CWE-180Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0065 51st percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed frankenphp (php): 1.11.2github.com/dunglas/frankenphp (Go): 1.11.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
PHPfrankenphpbefore 1.11.21.11.2Patch availableCNA
—github.com/dunglas/frankenphp (Go)before 1.11.21.11.2Patch availableGHSA-g966-83w7-6w38
  • frankenphp VendorPHP Affected before 1.11.2 Fixed in 1.11.2 Patch available CNA
  • github.com/dunglas/frankenphp (Go) Vendor— Affected before 1.11.2 Fixed in 1.11.2 Patch available GHSA-g966-83w7-6w38

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:php:frankenphp:*:*:*:*:*:*:*:*before 1.11.2VulnerablePHP
  • cpe:2.3:a:php:frankenphp:*:*:*:*:*:*:*:* Versions before 1.11.2 Vulnerable ·PHP

Remediation

  • Fix · CNA frankenphp (php) Fixed in 1.11.2
  • Fix · GHSA-g966-83w7-6w38 github.com/dunglas/frankenphp (Go) Fixed in 1.11.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-24895
  2. 2026-10-03 Alias added: GHSA-g966-83w7-6w38
  3. 2026-10-16 EPSS moved to the 50th–90th percentile

References

  • TI-2026-20079 FrankenPHP leaks session data between requests in worker mode CVSS 4.0HIGH 8.7

Sources