CVE-2026-30852: caddyserver caddy · Information Exposure
Affects caddyserver caddySource CVE Database V5
Public exploit available · CVSS 5.5 Medium : upgrade to 2.11.2 as a priority.
Data as of 30 Oct 2026, 06:59 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 37% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.11.2
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:PExploitation evidence
Disclosed: evidence found.
CVE published 7 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: evidence found.
CVSS exploit maturity: proof of concept public
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CVSS vector, the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Upgrade caddy and caddyserver/caddy to 2.11.2.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| caddyservercaddy | Affected
| Fixed in
|
GitHubcaddyserver/caddypkg:github/caddyserver/caddyOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
- Upgrade Caddy server to version 2.11.2 or later immediately to apply the official patch that fixes the double-expansion issue.
- Implement strict input validation and sanitization on HTTP headers at the application or reverse proxy level to block suspicious placeholder patterns such as {env.*} or {file.*}.
- Restrict access to sensitive environment variables and files by minimizing their exposure and using least privilege principles for the Caddy process.
- Monitor web server logs for unusual header values containing placeholder syntax indicative of exploitation attempts.
- Employ Web Application Firewalls (WAFs) with custom rules to detect and block requests containing suspicious placeholder injections.
- Conduct regular security audits and penetration testing focusing on injection and information disclosure vectors in web servers.
- Isolate critical services and sensitive data from direct exposure to internet-facing Caddy instances where possible.
- Educate development and operations teams about secure configuration and the risks of dynamic placeholder evaluation in server software.
Description
Caddy is an extensible server platform that uses TLS by default. From version 2.7.5 to before version 2.11.2, the vars_regexp matcher in vars.go:337 double-expands user-controlled input through the Caddy replacer. When vars_regexp matches against a placeholder like {http.request.header.X-Input}, the header value gets resolved once (expected), then passed through repl.ReplaceAll() again (the bug). This means an attacker can put {env.DATABASE_URL} or {file./etc/passwd} in a request header and the server will evaluate it, leaking environment variables, file contents, and system info. This issue has been patched in version 2.11.2.