CVE-2026-45135CWE-176CWE-178CWE-20

Caddy: Unsafe Unicode Handling in FastCGI splitPos Allows Execution of Non-PHP Files

High · published June 23, 2026

CVSS v3.1
8.1
EPSS
1%
Percentile
51.7
In the wild
Unconfirmed
What it is

Caddy is an extensible server platform that uses TLS by default. From 2.7.0 until 2.11.3, the FastCGI transport's splitPos() in modules/caddyhttp/reverseproxy/fastcgi/fastcgi.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 Caddy's FastCGI splitting into treating a non-.php (or other configured split_path extension) file as a script. In any deployment where the attacker can place content into a file served via FastCGI (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This vulnerability is fixed in 2.11.3.

The record
Technical detail
CVSS v3.1
8.1 · HIGH
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00676 · 51.7th percentile
Weaknesses
CWE-176 · Improper Handling of Unicode Encoding; CWE-178 · Improper Handling of Case Sensitivity; CWE-20 · Improper Input Validation
Published
2026-06-23T17:56Z
EPSS history
Timeline
  • 23 JUN 17:56Z
    Caddy: Unsafe Unicode Handling in FastCGI splitPos Allows Execution of Non-PHP Files
    cvelistv5