Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-77281 CVE-2026-92284CVE-2026-92700EUVD-2026-82474GHSA-j8px-rmrx-76h9GO-2026-6512

Caddy: rewrite placeholder re-expansion

Published Sep 17, 2026 · Updated Sep 18, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
caddyserver caddy < 2.11.4 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 caddy 2.11.4-1 —
Debian 13 caddy No fix yet —
Debian 12 caddy 2.6.2-5+deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS caddy No fix yet —
Ubuntu Pro 24.04 LTS caddy No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/caddyserver/caddy/v2 < 2.11.4 2.11.4 GHSA-j8px-rmrx-76h9

References