Skip to content
OpenAdvisories
High · 8.9 CVE-2026-24895 EUVD-2026-6699GHSA-g966-83w7-6w38GO-2026-4486

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

Published Feb 12, 2026 · Updated Feb 12, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
php frankenphp < 1.11.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1
openSUSE Leap 15.6 govulncheck-vulndb 0.0.20260226T182644-150000.1.149.1 SUSE-SU-2026:0757-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/dunglas/frankenphp < 1.11.2 1.11.2 GHSA-g966-83w7-6w38

Advisories 2

References