Nixpkgs security tracker

Login with GitHub

Suggestions search

With package: caddy

Found 13 matching suggestions

View:
Compact
Detailed
Untriaged
Permalink CVE-2026-52845
8.1 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): None (N)
updated 1 month ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse ignored
    7 packages
    • xcaddy
    • caddyfile-language-server
    • vimPlugins.nvim-treesitter-parsers.caddy
    • tree-sitter-grammars.tree-sitter-caddyfile
    • vscode-extensions.matthewpi.caddyfile-support
    • python313Packages.tree-sitter-grammars.tree-sitter-caddyfile
    • python314Packages.tree-sitter-grammars.tree-sitter-caddyfile
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`

Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, forward_auth copy_headers deletes the exact client-supplied identity header before copying the trusted value from the auth gateway. But when the request later goes through php_fastcgi, Caddy normalizes HTTP headers into CGI variables by replacing - with _. This lets a client send an underscore alias that survives the forward_auth delete step but becomes the same PHP/FastCGI variable. Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. This vulnerability is fixed in 2.11.4.

Affected products

caddy
  • ==< 2.11.4

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Ignored packages (7)

Package maintainers

Untriaged
Permalink CVE-2026-52846
4.2 MEDIUM
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Required (R)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): Low (L)
  • Integrity (I): Low (L)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Required (R)
  • Modified Confidentiality (MC): Low (L)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): Low (L)
  • Modified Availability (MA): None (N)
created 1 month ago Activity log
  • Created suggestion
Caddy: stripHTML template function bypass

Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, Caddy’s stripHTML template function cannot reliably remove all HTML tags from input strings. Certain malformed HTML, such as <<>img src=x onerror=alert()>, can bypass the tag-stripping logic, potentially leaving dangerous content in the output if it is later rendered as HTML. This may allow client-side XSS in cases where untrusted strings are rendered unsafely. This vulnerability is fixed in 2.11.4.

Affected products

caddy
  • ==< 2.11.4

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Package maintainers

Untriaged
Permalink CVE-2026-52844
7.5 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): None (N)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): None (N)
created 1 month ago Activity log
  • Created suggestion
Caddy: Windows `file_server` path authorization bypass via encoded backslash

Caddy is an extensible server platform that uses TLS by default. Prior to 2.11.4, on Windows, Caddy path matchers treat /private\secret.txt as outside /private/*, but file_server later resolves the same request path as private\secret.txt on disk. An unauthenticated remote client can bypass Caddy path-scoped auth/deny routes protecting /private/*. This vulnerability is fixed in 2.11.4.

Affected products

caddy
  • ==< 2.11.4

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Package maintainers

Untriaged
Permalink CVE-2026-45135
8.1 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): High (H)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): High (H)
created 1 month ago Activity log
  • Created suggestion
Caddy: Unsafe Unicode Handling in FastCGI splitPos Allows Execution of Non-PHP Files

Caddy is an extensible server platform that uses TLS by default. From 2.7.0 until 2.11.3, the FastCGI transport's splitPos() in modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead Caddy's FastCGI splitting into treating a non-.php (or other configured split_path extension) file as a script. In any deployment where the attacker can place content into a file served via FastCGI (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This vulnerability is fixed in 2.11.3.

Affected products

caddy
  • ==>= 2.7.0, < 2.11.3

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Package maintainers

Untriaged
Permalink CVE-2026-45692
5.4 MEDIUM
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): Low (L)
  • Integrity (I): Low (L)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): Low (L)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): Low (L)
  • Modified Availability (MA): None (N)
created 1 month ago Activity log
  • Created suggestion
Caddy: Remote Admin Authorization Bypass in `/config` API via Array Index Normalization

Caddy is an extensible server platform that uses TLS by default. From 2.4.0 until 2.11.3, the authorization layer and the /config traversal layer do not agree on what object the path refers to. In this case, a path authorized for one config object is accepted, but then resolves to a different config object during traversal. This happens because the authorization layer uses string prefix matching and the /config traversal layer parses array indices numerically using strconv.Atoi(). This vulnerability is fixed in 2.11.3.

Affected products

caddy
  • ==>= 2.4.0, < 2.11.3

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Package maintainers

Dismissed
Permalink CVE-2026-30851
8.1 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): High (H)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): High (H)
  • Modified Availability (MA): None (N)
updated 4 months, 2 weeks ago by @mweinelt Activity log
  • Created suggestion
  • @mweinelt ignored
    7 packages
    • xcaddy
    • caddyfile-language-server
    • vimPlugins.nvim-treesitter-parsers.caddy
    • tree-sitter-grammars.tree-sitter-caddyfile
    • vscode-extensions.matthewpi.caddyfile-support
    • python313Packages.tree-sitter-grammars.tree-sitter-caddyfile
    • python314Packages.tree-sitter-grammars.tree-sitter-caddyfile
  • @mweinelt dismissed
Caddy forward_auth copy_headers Does Not Strip Client-Supplied Headers, Allowing Identity Injection and Privilege Escalation

Caddy is an extensible server platform that uses TLS by default. From version 2.10.0 to before version 2.11.2, forward_auth copy_headers does not strip client-supplied headers, allowing identity injection and privilege escalation. This issue has been patched in version 2.11.2.

Affected products

caddy
  • ==>= 2.10.0, < 2.11.2

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Ignored packages (7)

pkgs.xcaddy

Build Caddy with plugins

Package maintainers

NixOS Unstable: https://github.com/NixOS/nixpkgs/pull/497116
NixOS 25.11: https://github.com/NixOS/nixpkgs/pull/497197
Dismissed
updated 4 months, 2 weeks ago by @mweinelt Activity log
  • Created suggestion
  • @mweinelt ignored
    7 packages
    • xcaddy
    • caddyfile-language-server
    • vimPlugins.nvim-treesitter-parsers.caddy
    • tree-sitter-grammars.tree-sitter-caddyfile
    • vscode-extensions.matthewpi.caddyfile-support
    • python313Packages.tree-sitter-grammars.tree-sitter-caddyfile
    • python314Packages.tree-sitter-grammars.tree-sitter-caddyfile
  • @mweinelt dismissed
Caddy: vars_regexp double-expands user input, leaking env vars and files

Caddy is an extensible server platform that uses TLS by default. From version 2.7.5 to before version 2.11.2, the vars_regexp matcher in vars.go:337 double-expands user-controlled input through the Caddy replacer. When vars_regexp matches against a placeholder like {http.request.header.X-Input}, the header value gets resolved once (expected), then passed through repl.ReplaceAll() again (the bug). This means an attacker can put {env.DATABASE_URL} or {file./etc/passwd} in a request header and the server will evaluate it, leaking environment variables, file contents, and system info. This issue has been patched in version 2.11.2.

Affected products

caddy
  • ==>= 2.7.5, < 2.11.2

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Ignored packages (7)

pkgs.xcaddy

Build Caddy with plugins

Package maintainers

NixOS Unstable: https://github.com/NixOS/nixpkgs/pull/497116
NixOS 25.11: https://github.com/NixOS/nixpkgs/pull/497197
Published
updated 5 months ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse ignored
    7 packages
    • xcaddy
    • caddyfile-language-server
    • vimPlugins.nvim-treesitter-parsers.caddy
    • tree-sitter-grammars.tree-sitter-caddyfile
    • vscode-extensions.matthewpi.caddyfile-support
    • python313Packages.tree-sitter-grammars.tree-sitter-caddyfile
    • python314Packages.tree-sitter-grammars.tree-sitter-caddyfile
  • @LeSuisse accepted
  • @LeSuisse deleted
    4 maintainers
    • @ryan4yin
    • @techknowlogick
    • @Br1ght0ne
    • @stepbrobd
    maintainer.delete
  • @LeSuisse published on GitHub
Caddy: Unicode case-folding length expansion causes incorrect split_path index (SCRIPT_NAME/PATH_INFO confusion) in FastCGI transport

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.

Affected products

caddy
  • ==< 2.11.1

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Ignored packages (7)

pkgs.xcaddy

Build Caddy with plugins

Package maintainers

Ignored maintainers (3)
Upstream advisory: https://github.com/caddyserver/caddy/security/advisories/GHSA-5r3v-vc8m-m96g
Published
updated 5 months ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse ignored
    7 packages
    • xcaddy
    • caddyfile-language-server
    • vimPlugins.nvim-treesitter-parsers.caddy
    • tree-sitter-grammars.tree-sitter-caddyfile
    • vscode-extensions.matthewpi.caddyfile-support
    • python313Packages.tree-sitter-grammars.tree-sitter-caddyfile
    • python314Packages.tree-sitter-grammars.tree-sitter-caddyfile
  • @LeSuisse accepted
  • @LeSuisse deleted
    4 maintainers
    • @ryan4yin
    • @techknowlogick
    • @Br1ght0ne
    • @stepbrobd
    maintainer.delete
  • @LeSuisse published on GitHub
Caddy: MatchHost becomes case-sensitive for large host lists (>100), enabling host-based route/auth bypass

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.

Affected products

caddy
  • ==< 2.11.1

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Ignored packages (7)

pkgs.xcaddy

Build Caddy with plugins

Package maintainers

Ignored maintainers (3)
Upstream advisory: https://github.com/caddyserver/caddy/security/advisories/GHSA-x76f-jf84-rqj8
Published
updated 5 months ago by @LeSuisse Activity log
  • Created suggestion
  • @LeSuisse ignored
    7 packages
    • xcaddy
    • caddyfile-language-server
    • vimPlugins.nvim-treesitter-parsers.caddy
    • tree-sitter-grammars.tree-sitter-caddyfile
    • vscode-extensions.matthewpi.caddyfile-support
    • python313Packages.tree-sitter-grammars.tree-sitter-caddyfile
    • python314Packages.tree-sitter-grammars.tree-sitter-caddyfile
  • @LeSuisse accepted
  • @LeSuisse deleted
    4 maintainers
    • @ryan4yin
    • @techknowlogick
    • @Br1ght0ne
    • @stepbrobd
    maintainer.delete
  • @LeSuisse published on GitHub
Caddy's mTLS client authentication silently fails open when CA certificate file is missing or malformed

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.

Affected products

caddy
  • ==< 2.11.1

Matching in nixpkgs

pkgs.caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Ignored packages (7)

pkgs.xcaddy

Build Caddy with plugins

Package maintainers

Ignored maintainers (3)
Upstream advisory: https://github.com/caddyserver/caddy/security/advisories/GHSA-hffm-g8v7-wrv7