<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 11:26:22 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-77281</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-77281</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-77281</guid>
    </item>
    <item>
      <title>GHSA-j8px-rmrx-76h9 — Caddy: rewrite placeholder re-expansion, unbounded body buffer DoS, and fileHidden case-sensitivity bypass</title>
      <link>https://db.gcve.eu/vuln/ghsa-j8px-rmrx-76h9</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/caddyserver/caddy/v2&lt;/p&gt;
&lt;p&gt;# Caddy v2.11.3 — Three vulnerabilities in handler/placeholder layer&lt;/p&gt;
&lt;p&gt;**Tested against:** `caddy:2.11.3` (official Docker image, SHA verified at runtime)
**Reproduction environment:** Docker Desktop 4.73.1 / Engine 29.4.3 on Windows 10 host, isolated containers, no network egress required for any of the exploits&lt;/p&gt;
&lt;p&gt;This advisory bundles three independent issues discovered together during a source review of the placeholder/replacer layer. Each issue has been reproduced end-to-end against the unmodified `caddy:2.11.3` image with the minimal Caddyfile that the documentation suggests for the affected feature.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Issue 1: Rewrite handler — placeholder double-expansion enables env var / file disclosure&lt;/p&gt;
&lt;p&gt;**File:** `modules/caddyhttp/rewrite/rewrite.go:215-249` and `buildQueryString` at `327`
**Class:** CWE-94 (Code Injection), same bug class as CVE-2026-30852 (`vars_regexp`)
**Severity:** Low (requires operator config with trailing `?` in rewrite URI)&lt;/p&gt;
&lt;p&gt;### Root cause&lt;/p&gt;
&lt;p&gt;When the operator&amp;#39;s `rewrite` URI template:
1. Contains a placeholder that resolves to request data (e.g. `{http.request.header.X-Foo}`), AND
2. Ends with a literal `?` (with empty query side)&lt;/p&gt;
&lt;p&gt;…then the bytes produced by the **first** Replacer pass (which include attacker-controlled header values) are fed through `buildQueryString`, which runs a **second** Replacer pass and resolves any placeholders the attacker injected.&lt;/p&gt;
&lt;p&gt;```go
// rewrite.go (abridged)
newPath = repl.ReplaceAll(path, &amp;#34;&amp;#34;)            // pass 1 — h…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/caddyserver/caddy/v2&lt;/p&gt;
&lt;p&gt;# Caddy v2.11.3 — Three vulnerabilities in handler/placeholder layer&lt;/p&gt;
&lt;p&gt;**Tested against:** `caddy:2.11.3` (official Docker image, SHA verified at runtime)
**Reproduction environment:** Docker Desktop 4.73.1 / Engine 29.4.3 on Windows 10 host, isolated containers, no network egress required for any of the exploits&lt;/p&gt;
&lt;p&gt;This advisory bundles three independent issues discovered together during a source review of the placeholder/replacer layer. Each issue has been reproduced end-to-end against the unmodified `caddy:2.11.3` image with the minimal Caddyfile that the documentation suggests for the affected feature.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Issue 1: Rewrite handler — placeholder double-expansion enables env var / file disclosure&lt;/p&gt;
&lt;p&gt;**File:** `modules/caddyhttp/rewrite/rewrite.go:215-249` and `buildQueryString` at `327`
**Class:** CWE-94 (Code Injection), same bug class as CVE-2026-30852 (`vars_regexp`)
**Severity:** Low (requires operator config with trailing `?` in rewrite URI)&lt;/p&gt;
&lt;p&gt;### Root cause&lt;/p&gt;
&lt;p&gt;When the operator&amp;#39;s `rewrite` URI template:
1. Contains a placeholder that resolves to request data (e.g. `{http.request.header.X-Foo}`), AND
2. Ends with a literal `?` (with empty query side)&lt;/p&gt;
&lt;p&gt;…then the bytes produced by the **first** Replacer pass (which include attacker-controlled header values) are fed through `buildQueryString`, which runs a **second** Replacer pass and resolves any placeholders the attacker injected.&lt;/p&gt;
&lt;p&gt;```go
// rewrite.go (abridged)
newPath = repl.ReplaceAll(path, &amp;#34;&amp;#34;)            // pass 1 — h…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-j8px-rmrx-76h9</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-77281</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-77281</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:Pro:24.04:LTS: caddy, Ubuntu:Pro:26.04:LTS: caddy&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:Pro:24.04:LTS: caddy, Ubuntu:Pro:26.04:LTS: caddy&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-77281</guid>
    </item>
  </channel>
</rss>
