Description
FrankenPHP is a modern application server for PHP. From version 1.11.2 to before version 1.12.3, the splitPos() function in cgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead FrankenPHP into treating a non-.php file as a .php script. In any deployment where the attacker can place content into a file served by FrankenPHP (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This issue has been patched in version 1.12.3.
Problem types
CWE-20: Improper Input Validation
CWE-176: Improper Handling of Unicode Encoding
CWE-178: Improper Handling of Case Sensitivity
Product status
References
github.com/...kenphp/security/advisories/GHSA-3g8v-8r37-cgjm
github.com/php/frankenphp/releases/tag/v1.12.3