Skip to content

github.com/dunglas/frankenphp

Follow this package

Get the evidence behind this dependency. Browse imported advisories below, or check an exact version against OSV now. View source coverage.

Check the version you ship.

Get a fresh OSV lookup for an exact release. We send the package name and version to OSV without storing a report.

Advisories & recorded fixes

critical9.2
CVE-2026-128014

FrankenPHP 1.8.0 before 1.13.2 Out-of-Bounds Write via Bundled Brotli Decoder

FrankenPHP standalone static binaries 1.8.0 before 1.13.2 bundle the PHP brotli extension statically linked with Brotli 1.2.0, whose decoder contains an out-of-bounds write (CVE-2026-111497). Unauthenticated remote attackers can send crafted data to applications that pass it to brotli_uncompress_add() to crash the entire FrankenPHP process, and possibly cause memory disclosure or code execution.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
high8.3
CVE-2026-128015

FrankenPHP before 1.13.4 Use-After-Free via putenv() During Request Shutdown

FrankenPHP before 1.13.4 contains a use-after-free vulnerability that leaves a dangling pointer to a freed environment table when putenv() is called during request shutdown. Attackers triggering putenv() in shutdown functions, destructors, or session handlers can crash the process on the next getenv() call or leak previous request environment values.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
high8.3
CVE-2026-128016

FrankenPHP before 1.13.4 Use-After-Free of SplTempFileObject Streams in Worker Mode

FrankenPHP before 1.13.4 contains a use-after-free vulnerability in worker mode that frees internal streams of SplTempFileObject or SplFileObject on php://temp instances surviving across requests. Remote clients can send requests reaching code that uses such persisted objects, causing reads of freed memory that leak garbage data or crash the process.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
medium6.3
CVE-2026-128017

FrankenPHP before 1.13.4 Double Free in Worker Mode via Non-Form POST

FrankenPHP before 1.13.4 contains a double free vulnerability in worker mode that frees SG(request_info).content_type_dup twice when a worker script ends its loop after a non-form POST request. Unauthenticated attackers can send repeated JSON POST requests until the worker loop ends, aborting the whole process when USE_ZEND_ALLOC=0 is set.

No structured fix or guidance is available here. Check the latest publisher advisory.

Public exploit reference

php · frankenphp
medium6.3
CVE-2026-128018

FrankenPHP before 1.13.4 Pending Worker Request Denial of Service

FrankenPHP before 1.13.4 contains a denial of service vulnerability in worker mode where frankenphp_handle_request() returns false without finishing the dequeued request after a fatal error during request startup. Attackers who trigger startup fatal errors against worker scripts that keep calling frankenphp_handle_request() can leave client requests hanging indefinitely while the worker continues running.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
medium6.3
CVE-2026-128019

FrankenPHP before 1.13.4 Information Disclosure via Per-Request Environment Variable Leak

FrankenPHP before 1.13.4 contains an information disclosure vulnerability in worker mode that leaks per-request environment variables into later requests on the same PHP thread. Attackers can read values set via env directives with request placeholders or WithRequestEnv() through getenv() or $_SERVER, causing applications to act on another user's routing, tenant, or authorization values.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
high8.2
CVE-2026-128020

FrankenPHP before 1.13.2 Denial of Service via Cyclic Array Conversion

FrankenPHP before 1.13.2 contains an uncontrolled recursion vulnerability in its PHP-to-Go array converter that fails to detect circular references in PHP arrays. Passing a self-referential array to frankenphp_log() or returning one from a worker callback triggers a fatal Go stack overflow, terminating the entire server process.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
medium6.3
CVE-2026-128021

FrankenPHP before 1.13.2 Information Disclosure via libxml Error State in Worker Mode

FrankenPHP before 1.13.2 contains an information disclosure vulnerability that allows later clients to read earlier clients' libxml errors because worker mode never resets LIBXML(error_list) between requests. Attackers sending requests to the same worker thread can call libxml_get_errors() or libxml_get_last_error() to obtain other clients' parsed-document fragments and server filesystem paths.

No structured fix or guidance is available here. Check the latest publisher advisory.

Public exploit reference

php · frankenphp
medium6.9
CVE-2026-128022

FrankenPHP before 1.13.2 Denial of Service via Queued Disconnected Requests

FrankenPHP before 1.13.2 contains a resource exhaustion vulnerability that allows unauthenticated clients to tie up PHP threads because queued requests are not cancelled when clients disconnect. Attackers can send many requests and close connections immediately, forcing handleRequestWithRegularPHPThreads and worker handlers to execute them and delay all clients sharing the thread pool.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
critical9.1
CVE-2026-128023

FrankenPHP before 1.13.0 Authentication Bypass via Dot-Form Header Name Aliasing

FrankenPHP before 1.13.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to spoof trusted headers by sending dot-form header names that PHP rewrites to underscores. Attackers can send headers like X.Authenticated.User or X.Forwarded.For that map to $_SERVER keys, spoofing user identity, client IP, or scheme.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
high8.2
CVE-2026-128024

FrankenPHP before 1.13.0 Denial of Service via goArray Nil Type Assertion

FrankenPHP before 1.13.0 contains a denial of service vulnerability in goArray() that allows remote attackers to abort the server process via arrays with null integer-keyed elements. Attackers can send crafted JSON passed to frankenphp_log() or returned from worker callbacks, triggering an unrecovered cgo panic that terminates every vhost and in-flight request.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
medium6.9
CVE-2026-128025

FrankenPHP before 1.13.0 CGI Path-Split Boundary Bypass via splitPos

FrankenPHP before 1.13.0 contains a path-split interpretation conflict in splitPos in cgi.go that allows unauthenticated attackers to execute protected PHP scripts by embedding .php inside a filename component. Attackers can request paths like /uploads/a.php.txt/b.php to execute uploads/a.php despite route-level or WAF deny rules and forge PATH_INFO, SCRIPT_NAME, and PHP_SELF values.

No structured fix or guidance is available here. Check the latest publisher advisory.

Public exploit reference

php · frankenphp
medium6.9
CVE-2026-128026

FrankenPHP 1.5.0 before 1.13.0 Cross-Request Environment Leakage via putenv

FrankenPHP from 1.5.0 before 1.13.0 contains an incomplete environment sandbox vulnerability in which putenv writes to the process-wide OS environment via os.Setenv, leaking values across concurrent requests. Attackers reaching a request path that spawns child processes with the default environment through proc_open or exec can read secrets such as database passwords set by other requests.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp
medium6.3
CVE-2026-122233

FrankenPHP before 1.13.4 Cross-Request Response Header Leak in Worker Mode

FrankenPHP before 1.13.4 contains an information disclosure vulnerability in worker mode that fails to clear last HTTP stream response headers between requests, because the reset only happens in RSHUTDOWN, which worker requests skip. Later requests calling http_get_last_response_headers() can read headers fetched by earlier requests on the same worker thread, exposing other users' Set-Cookie or token headers from backend APIs.

No structured fix or guidance is available here. Check the latest publisher advisory.

Exploitation not established

php · frankenphp