Medium severity · published Feb 24, 2026
CVE-2026-27589
Caddy vulnerable to cross-origin config application via local admin API /load (caddy)
6.5
CVSS
0.2%
EPSS
No
On KEV
Description
Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the local caddy admin API (default listen `127.0.0.1:2019`) exposes a state-changing `POST /load` endpoint that replaces the entire running configuration. When origin enforcement is not enabled (`enforce_origin` not configured), the admin endpoint accepts cross-origin requests (e.g., from attacker-controlled web content in a victim browser) and applies an attacker-supplied JSON config. This can change the admin listener settings and alter HTTP server behavior without user intent. Version 2.11.1 contains a fix for the issue.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
None
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 9% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CA
caddy · caddyserver
< 2.11.1 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-27589
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-27589
Release Notes
https://github.com/caddyserver/caddy/releases/tag/v2.11.1
Exploit
https://github.com/caddyserver/caddy/security/advisories/GHSA-879p-475x-rqh2
Exploit
https://github.com/user-attachments/files/25079818/poc.zip
Exploit
https://github.com/user-attachments/files/25079820/PR_DESCRIPTION.md
More from caddy
7.5
CVE-2023-44487
HTTP/2 Rapid Reset Attack Vulnerability
9.8
CVE-2026-27590
Caddy: Unicode case-folding length expansion causes incorrect split_path index (SCRIPT_NAME/PATH_INFO confusion) in FastCGI transport
9.8
CVE-2018-21246
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode
9.1
CVE-2026-27588
Caddy: MatchHost becomes case-sensitive for large host lists (>100), enabling host-based route/auth bypass
9.1
CVE-2026-27587
Caddy: MatchPath %xx (escaped-path) branch skips case normalization, enabling path-based route/auth bypass
