Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-45062 – Remote Code Execution – FrankenPHP 1.11.2 through 1.12.2

Be the first to know when new zero-days emerge:

Summary

CVE-2026-45062 is a high-severity Unicode path confusion vulnerability in FrankenPHP, a modern PHP application server, affecting versions 1.11.2 through 1.12.2. The flaw resides in the splitPos() function in cgi.go, where improper use of a Unicode-aware string-search library allows an attacker to craft a URL path that causes FrankenPHP to treat a non-.php file as a .php script. In any deployment where an attacker can place content into a FrankenPHP-served directory — for example, through a file upload feature — this vulnerability escalates to full Remote Code Execution (RCE). A patch is available as of June 10, 2026 in version 1.12.3.

Technical details

  • Root cause: The splitPos() function in cgi.go uses golang.org/x/text/search with the search.IgnoreCase flag to locate .php in a request path. This fallback is invoked when the path contains a non-ASCII byte. Two distinct flaws exist in this code path:
    • Flaw 1 — Stale match variable: When a non-ASCII byte is encountered during the inner matching loop, the function breaks out of the loop without resetting the match flag to false. This leaves match incorrectly set to true, causing splitPos() to return a position as if .php had been found when it had not.
    • Flaw 2 — Unicode equivalence folding: The search.IgnoreCase implementation applies Unicode compatibility decomposition and case folding, causing visually distinct but Unicode-equivalent characters (e.g., ﹒php, .php, .php, .𝗽𝗵𝗽, .ⓟⓗⓟ) to match against the ASCII .php extension, bypassing the file-type check entirely.
  • Trigger conditions: The attack requires the attacker to be able to place a file with an attacker-controlled name or content into a directory served by FrankenPHP — for example, via a file upload endpoint, user-content store, or shared hosting directory. The attacker then sends a crafted HTTP request whose path triggers either flaw, causing FrankenPHP to execute the non-PHP file as a PHP script.
  • Attack vector: Network (AV:N), unauthenticated (PR:N), no user interaction required (UI:N).
  • Impact: Full Remote Code Execution (RCE) within the FrankenPHP process — confidentiality, integrity, and availability are all fully compromised (C:H/I:H/A:H).
  • Fix approach: The patch in version 1.12.3 removes the golang.org/x/text/search fallback entirely. Any byte value ≥ utf8.RuneSelf in the request path is now treated as a non-match, eliminating both bypass vectors while preserving correct behavior for all legitimate ASCII paths.

Affected software

  • FrankenPHP (Go module github.com/dunglas/frankenphp) — versions 1.11.2 through 1.12.2 (inclusive)

Severity

  • CVSS v3.1 Base Score: 8.1 (High)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Mitigation and recommended actions

  • Immediate — Upgrade: Upgrade FrankenPHP to version 1.12.3 or later. This is the only complete fix and is the vendor-recommended remediation.
  • Defense-in-depth (if immediate patching is not feasible):
    • Store all user-uploaded or user-controlled files outside the FrankenPHP document root to prevent an attacker from placing files that can be executed.
    • Deploy a Web Application Firewall (WAF) rule that rejects HTTP requests containing multi-byte Unicode characters (bytes ≥ 0x80) in the URL path, reducing exploitability until patching is completed.
    • Restrict file upload functionality or enforce strict server-side allowlists on acceptable file extensions and upload destinations.

IONIX Status

The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge