GHSA-m2w3-8f23-hxxf
MODERATECVE-2026-30852The varsregexp matcher in vars.go:337 double-expands user-controlled input through the Caddy replacer. When varsregexp 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.DATABASEURL} or {file./etc/passwd} in a request header and the server will e
- Affected
- >= 2.7.5, <= 2.11.1
- Fixed in
- 2.11.2
- Weakness
- CWE-74
- Published
- 2026-03-06
- Source
- github