Debian Package Tracker
Register | Log in
Subscribe

caddy

Fast, lightweight web server with automatic HTTPS

Choose email to subscribe with

general
  • source: caddy (main)
  • version: 2.6.2-14
  • maintainer: Debian Go Packaging Team (DMD)
  • uploaders: Peymaneh [DMD] [DM]
  • arch: any
  • std-ver: 4.7.2
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • oldstable: 2.6.2-5
  • stable: 2.6.2-12
  • unstable: 2.6.2-14
versioned links
  • 2.6.2-5: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.6.2-12: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.6.2-14: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • caddy (2 bugs: 0, 0, 2, 0)
action needed
A new upstream version is available: 2.11.1 high
A new upstream version 2.11.1 is available, you should consider packaging it.
Created: 2025-11-27 Last update: 2026-03-01 02:00
6 security issues in trixie high

There are 6 open security issues in trixie.

6 important issues:
  • CVE-2026-27585: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the path sanitization routine in file matcher doesn't sanitize backslashes which can lead to bypassing path related security protections. It affects users with specific Caddy and environment configurations. Version 2.11.1 fixes the issue.
  • CVE-2026-27586: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, two swallowed errors in `ClientAuthentication.provision()` cause mTLS client certificate authentication to silently fail open when a CA certificate file is missing, unreadable, or malformed. The server starts without error but accepts any client certificate signed by any system-trusted CA, completely bypassing the intended private CA trust boundary. Any deployment using `trusted_ca_cert_file` or `trusted_ca_certs_pem_files` for mTLS will silently degrade to accepting any system-trusted client certificate if the CA file becomes unavailable. This can happen due to a typo in the path, file rotation, corruption, or permission changes. The server gives no indication that mTLS is misconfigured. Version 2.11.1 fixes the vulnerability.
  • CVE-2026-27587: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `path` request matcher is intended to be case-insensitive, but when the match pattern contains percent-escape sequences (`%xx`) it compares against the request's escaped path without lowercasing. An attacker can bypass path-based routing and any access controls attached to that route by changing the casing of the request path. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27588: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `host` request matcher is documented as case-insensitive, but when configured with a large host list (>100 entries) it becomes case-sensitive due to an optimized matching path. An attacker can bypass host-based routing and any access controls attached to that route by changing the casing of the `Host` header. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27589: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the local caddy admin API (default listen `127.0.0.1:2019`) exposes a state-changing `POST /load` endpoint that replaces the entire running configuration. When origin enforcement is not enabled (`enforce_origin` not configured), the admin endpoint accepts cross-origin requests (e.g., from attacker-controlled web content in a victim browser) and applies an attacker-supplied JSON config. This can change the admin listener settings and alter HTTP server behavior without user intent. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27590: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's FastCGI path splitting logic computes the split index on a lowercased copy of the request path and then uses that byte index to slice the original path. This is unsafe for Unicode because `strings.ToLower()` can change UTF-8 byte length for some characters. As a result, Caddy can derive an incorrect `SCRIPT_NAME`/`SCRIPT_FILENAME` and `PATH_INFO`, potentially causing a request that contains `.php` to execute a different on-disk file than intended (path confusion). In setups where an attacker can control file contents (e.g., upload features), this can lead to unintended PHP execution of non-.php files (potential RCE depending on deployment). Version 2.11.1 fixes the issue.
Created: 2026-02-25 Last update: 2026-02-25 04:00
6 security issues in sid high

There are 6 open security issues in sid.

6 important issues:
  • CVE-2026-27585: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the path sanitization routine in file matcher doesn't sanitize backslashes which can lead to bypassing path related security protections. It affects users with specific Caddy and environment configurations. Version 2.11.1 fixes the issue.
  • CVE-2026-27586: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, two swallowed errors in `ClientAuthentication.provision()` cause mTLS client certificate authentication to silently fail open when a CA certificate file is missing, unreadable, or malformed. The server starts without error but accepts any client certificate signed by any system-trusted CA, completely bypassing the intended private CA trust boundary. Any deployment using `trusted_ca_cert_file` or `trusted_ca_certs_pem_files` for mTLS will silently degrade to accepting any system-trusted client certificate if the CA file becomes unavailable. This can happen due to a typo in the path, file rotation, corruption, or permission changes. The server gives no indication that mTLS is misconfigured. Version 2.11.1 fixes the vulnerability.
  • CVE-2026-27587: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `path` request matcher is intended to be case-insensitive, but when the match pattern contains percent-escape sequences (`%xx`) it compares against the request's escaped path without lowercasing. An attacker can bypass path-based routing and any access controls attached to that route by changing the casing of the request path. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27588: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `host` request matcher is documented as case-insensitive, but when configured with a large host list (>100 entries) it becomes case-sensitive due to an optimized matching path. An attacker can bypass host-based routing and any access controls attached to that route by changing the casing of the `Host` header. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27589: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the local caddy admin API (default listen `127.0.0.1:2019`) exposes a state-changing `POST /load` endpoint that replaces the entire running configuration. When origin enforcement is not enabled (`enforce_origin` not configured), the admin endpoint accepts cross-origin requests (e.g., from attacker-controlled web content in a victim browser) and applies an attacker-supplied JSON config. This can change the admin listener settings and alter HTTP server behavior without user intent. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27590: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's FastCGI path splitting logic computes the split index on a lowercased copy of the request path and then uses that byte index to slice the original path. This is unsafe for Unicode because `strings.ToLower()` can change UTF-8 byte length for some characters. As a result, Caddy can derive an incorrect `SCRIPT_NAME`/`SCRIPT_FILENAME` and `PATH_INFO`, potentially causing a request that contains `.php` to execute a different on-disk file than intended (path confusion). In setups where an attacker can control file contents (e.g., upload features), this can lead to unintended PHP execution of non-.php files (potential RCE depending on deployment). Version 2.11.1 fixes the issue.
Created: 2026-02-25 Last update: 2026-02-25 04:00
6 security issues in bookworm high

There are 6 open security issues in bookworm.

6 important issues:
  • CVE-2026-27585: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the path sanitization routine in file matcher doesn't sanitize backslashes which can lead to bypassing path related security protections. It affects users with specific Caddy and environment configurations. Version 2.11.1 fixes the issue.
  • CVE-2026-27586: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, two swallowed errors in `ClientAuthentication.provision()` cause mTLS client certificate authentication to silently fail open when a CA certificate file is missing, unreadable, or malformed. The server starts without error but accepts any client certificate signed by any system-trusted CA, completely bypassing the intended private CA trust boundary. Any deployment using `trusted_ca_cert_file` or `trusted_ca_certs_pem_files` for mTLS will silently degrade to accepting any system-trusted client certificate if the CA file becomes unavailable. This can happen due to a typo in the path, file rotation, corruption, or permission changes. The server gives no indication that mTLS is misconfigured. Version 2.11.1 fixes the vulnerability.
  • CVE-2026-27587: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `path` request matcher is intended to be case-insensitive, but when the match pattern contains percent-escape sequences (`%xx`) it compares against the request's escaped path without lowercasing. An attacker can bypass path-based routing and any access controls attached to that route by changing the casing of the request path. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27588: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's HTTP `host` request matcher is documented as case-insensitive, but when configured with a large host list (>100 entries) it becomes case-sensitive due to an optimized matching path. An attacker can bypass host-based routing and any access controls attached to that route by changing the casing of the `Host` header. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27589: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, the local caddy admin API (default listen `127.0.0.1:2019`) exposes a state-changing `POST /load` endpoint that replaces the entire running configuration. When origin enforcement is not enabled (`enforce_origin` not configured), the admin endpoint accepts cross-origin requests (e.g., from attacker-controlled web content in a victim browser) and applies an attacker-supplied JSON config. This can change the admin listener settings and alter HTTP server behavior without user intent. Version 2.11.1 contains a fix for the issue.
  • CVE-2026-27590: Caddy is an extensible server platform that uses TLS by default. Prior to version 2.11.1, Caddy's FastCGI path splitting logic computes the split index on a lowercased copy of the request path and then uses that byte index to slice the original path. This is unsafe for Unicode because `strings.ToLower()` can change UTF-8 byte length for some characters. As a result, Caddy can derive an incorrect `SCRIPT_NAME`/`SCRIPT_FILENAME` and `PATH_INFO`, potentially causing a request that contains `.php` to execute a different on-disk file than intended (path confusion). In setups where an attacker can control file contents (e.g., upload features), this can lead to unintended PHP execution of non-.php files (potential RCE depending on deployment). Version 2.11.1 fixes the issue.
Created: 2026-02-25 Last update: 2026-02-25 04:00
The package has not entered testing even though the delay is over normal
The package has not entered testing even though the 2-day delay is over. Check why.
Created: 2026-01-22 Last update: 2026-03-01 07:18
lintian reports 6 warnings normal
Lintian reports 6 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2025-10-19 Last update: 2025-12-01 07:31
debian/patches: 5 patches to forward upstream low

Among the 8 debian patches available in version 2.6.2-14 of the package, we noticed the following issues:

  • 5 patches where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2023-02-26 Last update: 2025-10-19 07:03
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.3 instead of 4.7.2).
Created: 2025-12-23 Last update: 2025-12-23 20:00
testing migrations
  • excuses:
    • Migration status for caddy (- to 2.6.2-14): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ Updating caddy would introduce bugs in testing: #1110530
    • ∙ ∙ caddy/amd64 has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • ∙ ∙ caddy/arm64 has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • ∙ ∙ caddy/armhf has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • ∙ ∙ caddy/i386 has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • ∙ ∙ caddy/ppc64el has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • ∙ ∙ caddy/riscv64 has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • ∙ ∙ caddy/s390x has unsatisfiable Built-Using on golang-step-cli-utils 0.7.5+ds-3
    • Additional info (not blocking):
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/c/caddy.html
    • ∙ ∙ Autopkgtest for caddy/2.6.2-14: amd64: Pass, arm64: Pass, i386: Pass, ppc64el: Pass, riscv64: Pass, s390x: Pass
    • ∙ ∙ Reproducible on amd64
    • ∙ ∙ Reproducible on arm64
    • ∙ ∙ Reproducible on armhf
    • ∙ ∙ Reproducible on i386
    • ∙ ∙ Reproducible on ppc64el
    • ∙ ∙ Required age reduced by 3 days because of autopkgtest
    • ∙ ∙ 133 days old (needed 2 days)
    • Not considered
news
[rss feed]
  • [2026-01-09] caddy REMOVED from testing (Debian testing watch)
  • [2025-12-24] caddy 2.6.2-14 MIGRATED to testing (Debian testing watch)
  • [2025-10-18] Accepted caddy 2.6.2-14 (source) into unstable (Nilesh Patra)
  • [2025-10-18] Accepted caddy 2.6.2-13 (source) into unstable (Nilesh Patra)
  • [2025-09-07] caddy REMOVED from testing (Debian testing watch)
  • [2025-05-30] caddy 2.6.2-12 MIGRATED to testing (Debian testing watch)
  • [2025-05-10] Accepted caddy 2.6.2-12 (source) into unstable (Jérémy Lal)
  • [2025-04-12] caddy 2.6.2-11 MIGRATED to testing (Debian testing watch)
  • [2025-04-09] Accepted caddy 2.6.2-11 (source) into unstable (Jérémy Lal)
  • [2025-04-06] Accepted caddy 2.6.2-10 (source) into unstable (Jérémy Lal)
  • [2025-03-19] caddy REMOVED from testing (Debian testing watch)
  • [2025-03-18] Accepted caddy 2.6.2-9 (source) into unstable (Jérémy Lal)
  • [2024-11-12] caddy 2.6.2-8 MIGRATED to testing (Debian testing watch)
  • [2024-09-27] caddy REMOVED from testing (Debian testing watch)
  • [2024-08-22] caddy 2.6.2-8 MIGRATED to testing (Debian testing watch)
  • [2024-08-13] Accepted caddy 2.6.2-8 (source) into unstable (Shengjing Zhu)
  • [2024-08-07] caddy 2.6.2-7 MIGRATED to testing (Debian testing watch)
  • [2024-08-02] Accepted caddy 2.6.2-7 (source) into unstable (Mathias Gibbens)
  • [2024-05-04] caddy 2.6.2-6.1 MIGRATED to testing (Debian testing watch)
  • [2024-05-02] Accepted caddy 2.6.2-6.1 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2023-08-26] caddy 2.6.2-6 MIGRATED to testing (Debian testing watch)
  • [2023-08-26] caddy 2.6.2-6 MIGRATED to testing (Debian testing watch)
  • [2023-08-23] Accepted caddy 2.6.2-6 (source) into unstable (Shengjing Zhu)
  • [2023-04-25] caddy 2.6.2-5 MIGRATED to testing (Debian testing watch)
  • [2023-04-17] Accepted caddy 2.6.2-5 (source) into unstable (Peymaneh)
  • [2023-01-20] caddy 2.6.2-4 MIGRATED to testing (Debian testing watch)
  • [2023-01-15] Accepted caddy 2.6.2-4 (source) into unstable (Peymaneh)
  • [2023-01-14] Accepted caddy 2.6.2-3 (source) into unstable (Peymaneh)
  • [2023-01-13] Accepted caddy 2.6.2-2 (source) into unstable (Peymaneh)
  • [2023-01-10] caddy 2.6.2-1 MIGRATED to testing (Debian testing watch)
  • 1
  • 2
bugs [bug history graph]
  • all: 3
  • RC: 1
  • I&N: 0
  • M&W: 2
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian (0, 6)
  • buildd: logs, cross
  • popcon
  • browse source code
  • edit tags
  • other distros
  • security tracker
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 2.6.2-14

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing