{"id":"CVE-2026-77281","published":"2026-09-17T21:04:58Z","modified":"2026-09-18T14:43:34Z","title":"Caddy: rewrite placeholder re-expansion","vendor":"caddyserver","product":"caddy","tier":"tail","description":{"text":"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.","provenance":"source","from":"CVE.org"},"cvss":{"score":6.5,"severity":"MEDIUM","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00491,"percentile":0.42079,"provenance":"source"},"cwes":[{"id":"CWE-94","name":"Improper Control of Generation of Code"},{"id":"CWE-178","name":"Improper Handling of Case Sensitivity"},{"id":"CWE-770","name":"Allocation of Resources Without Limits or Throttling"}],"references":[{"url":"https://github.com/caddyserver/caddy/security/advisories/GHSA-j8px-rmrx-76h9","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/caddyserver/caddy/pull/7761","tags":["x_refsource_MISC"]},{"url":"https://github.com/caddyserver/caddy/commit/176b043b0104cee3f894023cd5a598ac29e404bb","tags":["x_refsource_MISC"]},{"url":"https://github.com/caddyserver/caddy/releases/tag/v2.11.4","tags":["x_refsource_MISC"]}],"priority":{"score":13.0,"factors":[{"name":"EPSS percentile","points":8.42},{"name":"CVSS severity","points":4.55}]},"vendorSlug":"caddyserver","affectedVersions":[{"vendor":"caddyserver","product":"caddy","versions":["< 2.11.4"]}],"affected":[{"ecosystem":"Go","package":"github.com/caddyserver/caddy/v2","vulnerableRanges":["<2.11.4"],"patched":["2.11.4"],"from":["GHSA-j8px-rmrx-76h9","GO-2026-6512"],"provenance":"source"}],"euvd":{"id":"EUVD-2026-82474","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-caddyserver-caddy-cve-2026-77281","children":[{"from":"CVE-2026-77281","to":"CVE-2026-92284","relation":"related","confidence":"high","kind":"lineage","evidence":[{"kind":"osv-related","provenance":"source","id":"GHSA-j8px-rmrx-76h9","via":"reference","url":"https://github.com/caddyserver/caddy/security/advisories/GHSA-j8px-rmrx-76h9"}]},{"from":"CVE-2026-77281","to":"CVE-2026-92700","relation":"related","confidence":"high","kind":"lineage","evidence":[{"kind":"osv-related","provenance":"source","id":"GHSA-j8px-rmrx-76h9","via":"reference","url":"https://github.com/caddyserver/caddy/security/advisories/GHSA-j8px-rmrx-76h9"}]}]}}