Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. github.com/dunglas/frankenphp
  4. ›
  5. CVE-2026-24895

CVE-2026-24895: FrankenPHP's unicode case-folding length expansion causes incorrect split_path index (SCRIPT_NAME/PATH_INFO confusion) in FrankenPHP

February 12, 2026

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.

References

  • github.com/advisories/GHSA-g966-83w7-6w38
  • github.com/php/frankenphp
  • github.com/php/frankenphp/commit/04fdc0c1e8fde94e2c1ad86217e962c88d27c53e
  • github.com/php/frankenphp/releases/tag/v1.11.2
  • github.com/php/frankenphp/security/advisories/GHSA-g966-83w7-6w38
  • nvd.nist.gov/vuln/detail/CVE-2026-24895

Code Behaviors & Features

Detect and mitigate CVE-2026-24895 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 1.11.2

Fixed versions

  • 1.11.2

Solution

Upgrade to version 1.11.2 or above.

Weakness

  • CWE-180: Incorrect Behavior Order: Validate Before Canonicalize
  • CWE-20: Improper Input Validation

Source file

go/github.com/dunglas/frankenphp/CVE-2026-24895.yml

Spotted a mistake? Edit the file on GitLab.

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

Page generated Wed, 25 Mar 2026 00:17:21 +0000.