Caddy: rewrite placeholder re-expansion
Caddy is an extensible server platform that uses TLS by default. In version 2.11.3 and earlier, three configuration-dependent weaknesses affect the handler and placeholder layer. In modules/caddyhttp/rewrite/rewrite.go, Rewrite.Rewrite() can pass attacker-controlled replacement bytes through buildQueryString for a second placeholder expansion when a rewrite URI ends with a literal question mark, allowing injected environment or request-variable placeholders to disclose data and, when the file provider is registered, allowing injected file placeholders to disclose readable files. The issue is fixed in version 2.11.4.
describes (2)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-92700US | — | — | ||
Caddy is an extensible server platform that uses TLS by default. In version 2.11.3 and earlier, in modules/caddyhttp/fileserver/staticfiles.go, fileHidden() uses case-sensitive fil… | ||||
| CVE-2026-92284US | — | — | ||
Caddy is an extensible server platform that uses TLS by default. In version 2.11.3 and earlier, in modules/caddyhttp/replacer.go, resolving http.request.body reads the complete req… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77281.jsonADVISORY
- https://github.com/caddyserver/caddy/commit/176b043b0104cee3f894023cd5a598ac29e404bbFIX
- https://github.com/caddyserver/caddy/pull/7761FIX
- https://github.com/caddyserver/caddy/releases/tag/v2.11.4WEB
- https://github.com/caddyserver/caddy/security/advisories/GHSA-j8px-rmrx-76h9ADVISORY
- https://nvd.nist.gov/vuln/detail/CVE-2026-77281ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan