github.com/caddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Activity
- Latest release
- 6y ago
- Total releases
- 49
- Cadence
- ~27 days
- Last 12 months
- 0
Reach
- Stars
- 75.5k
Details
- First release
- Apr 28, 2015
| Version | Released | |
|---|---|---|
v1.0.5
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.5
patch
Dependencies (16)
+ 8 more |
|
v1.0.4
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.4
patch
Dependencies (16)
+ 8 more |
|
v1.0.3
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.3
patch
Dependencies (16)
+ 8 more |
|
v1.0.2
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.2
patch
Dependencies (16)
+ 8 more |
|
v1.0.1
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.1
patch
Dependencies (16)
+ 8 more |
|
v1.0.0
major
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.0
major
Dependencies (16)
+ 8 more |
|
v1.0.0-beta2
pre
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.0-beta2
pre
Dependencies (17)
+ 9 more |
|
v1.0.0-beta1
pre
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v1.0.0-beta1
pre
Dependencies (15)
+ 7 more |
|
v0.11.5
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.11.5
patch
|
|
v0.11.4
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.11.4
patch
|
|
v0.11.3
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.11.3
patch
|
|
v0.11.2
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.11.2
patch
|
|
v0.11.1
patch
4 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.11.1
patch
|
|
v0.11.0
minor
5 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.11.0
minor
|
|
v0.10.14
patch
5 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.14
patch
|
|
v0.10.13
patch
5 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.13
patch
|
|
v0.10.12
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.12
patch
|
|
v0.10.11
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.11
patch
|
|
v0.10.10
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.10
patch
|
|
v0.10.9
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.9
patch
|
|
v0.10.8
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.8
patch
|
|
v0.10.7
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.7
patch
|
|
v0.10.6
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.6
patch
|
|
v0.10.5
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.5
patch
|
|
v0.10.4
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.4
patch
|
|
v0.10.3
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.3
patch
|
|
v0.10.2
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.2
patch
|
|
v0.10.1
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.1
patch
|
|
v0.10.0
minor
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.10.0
minor
|
|
v0.9.5
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.9.5
patch
|
|
v0.9.4
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.9.4
patch
|
|
v0.9.3
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.9.3
patch
|
|
v0.9.2
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.9.2
patch
|
|
v0.9.1
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.9.1
patch
|
|
v0.9.0
minor
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.9.0
minor
|
|
v0.8.3
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.8.3
patch
|
|
v0.8.2
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.8.2
patch
|
|
v0.8.1
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.8.1
patch
|
|
v0.8.0
minor
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.8.0
minor
|
|
v0.7.6
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.6
patch
|
|
v0.7.5
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.5
patch
|
|
v0.7.4
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.4
patch
|
|
v0.7.3
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.3
patch
|
|
v0.7.2
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.2
patch
|
|
v0.7.1
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.1
patch
|
|
v0.7.0
minor
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.7.0
minor
|
|
v0.6.0
minor
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.6.0
minor
|
|
v0.5.1
patch
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.5.1
patch
|
|
v0.5.0
initial
6 CVEs
CVE-2026-52846
GHSA-vcc4-2c75-vc9v
GO-2026-5660
Jun 16, 2026
Caddy: stripHTML template function bypass
4.2
/ 10
Medium
Network
High
None
Required
Unchanged
Low
Low
None
SummaryCaddy’s DetailsThe vulnerability originates from caddy/caddy/caddyhttp/templates/tplcontext.go
POCCaddyfile setup
Template file (index.html)
The payload exploits the false start branch to smuggle a literal < back into the output, then uses the following > to terminate the parser’s tag state, leaving a valid <img ...> tag behind. Tested in v2.11.3 ImpactMalformed HTML can bypass stripHTML, potentially allowing arbitrary HTML or JavaScript to be rendered if the output is used unsafely, leading to client-side XSS. AI DisclosureAI assisted in writing the report description; however, the discovery of the issue has been done manually. References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52845
GHSA-f59h-q822-g45g
GO-2026-5346
Jun 16, 2026
Caddy: FastCGI header normalization bypass in `forward_auth copy_headers`
8.1
/ 10
High
Network
Low
Low
None
Unchanged
High
High
None
Summary
This lets a client send an underscore alias that survives the
Result: a remote client can inject or sometimes override identity/group headers trusted by PHP/FastCGI applications behind Caddy. Details
That delete is exact-field deletion through
So deleting Later, FastCGI exports all request headers into CGI variables:
The normalizer replaces hyphens with underscores:
So the trusted header and the attacker-controlled alias collide in the backend-visible CGI/PHP namespace. This is distinct from GHSA-7r4p-vjf4-gxv4. That issue allowed exact copied headers to survive. This report reproduces after the exact-header fix because the bypass uses a different HTTP field name that only becomes equivalent during Caddy's FastCGI export. PoCRun from the Caddy repository root with
Observed on commit Baseline:
With attacker header:
Caddy debug log confirms the FastCGI environment contained:
The auth gateway returned ImpactThis affects Caddy deployments that use:
Impact examples:
Realistic examples include trusted-header SSO deployments such as Firefly III AI disclosureThe LLM was used to help analyze the Caddy codebase, compare relevant code paths, draft the report, and organize reproduction steps. Human security research judgment and insight were used to guide the investigation, validate the root cause, run the local reproduction, assess impact, and make the final report conclusions. References
Updated Jul 24, 2026 · Source: OSV.dev
CVE-2026-52844
GHSA-qrp7-cvwr-j2c6
GO-2026-5595
Jun 16, 2026
Caddy: Windows `file_server` path authorization bypass via encoded backslash
7.5
/ 10
High
Network
Low
None
None
Unchanged
High
None
None
SummaryOn Windows, Caddy An unauthenticated remote client can request DetailsThe mismatch is between two Caddy code paths:
This is related to, but distinct from, PoCTested on current HEAD On Windows, create the test files and Caddyfile:
Start Caddy:
Baseline request, expected to be blocked:
Observed:
Bypass request:
Observed:
Uppercase Relevant debug log lines:
ImpactThis is a Windows-only remote authorization bypass for deployments that protect static subtrees with Caddy path matchers before This pattern is documented by Caddy itself, for example An attacker can read files that were intended to be protected by Caddy-side Suggested FixNormalize Windows path separators consistently before The important invariant is that a request path used for route authorization must not later resolve to a different protected filesystem path. AI DisclosureLLM assistance was used for codebase analysis and report drafting. The PoC was manually validated, including an end-to-end reproduction on a Windows Server lab host using a Windows References Updated Jul 24, 2026 · Source: OSV.dev
CVE-2018-21246
GHSA-gr7w-x2jp-3xgw
GO-2020-0043
Oct 06, 2022
Caddy vulnerable to Authentication Bypass due to mishandling of TLS client authentication
9.8
/ 10
Critical
Network
Low
None
None
Unchanged
High
High
High
Caddy before 0.10.13 mishandles TLS client authentication, as demonstrated by an authentication bypass caused by the lack of the StrictHostMatching mode. Fixed in
0.10.13
References
Updated Nov 08, 2023 · Source: OSV.dev
CVE-2022-29718
GHSA-2927-hv3p-f3vp
Jun 03, 2022
Open redirect in caddy
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Caddy v2.4 was discovered to contain an open redirect vulnerability. A remote unauthenticated attacker may exploit this vulnerability to redirect users to arbitrary web URLs by tricking the victim users to click on crafted links. Fixed in
2.5.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2018-19148
GHSA-jf2w-mq6r-56v8
May 14, 2022
Caddy allows enumeration of Certificates and Hostnames
3.7
/ 10
Low
Network
High
None
None
Unchanged
Low
None
None
Caddy through 0.11.0 sends incorrect certificates for certain invalid requests, making it easier for attackers to enumerate hostnames. Specifically, when unable to match a Host header with a vhost in its configuration, it serves the X.509 certificate for a randomly selected vhost in its configuration. Repeated requests (with a nonexistent hostname in the Host header) permit full enumeration of all certificates on the server. This generally permits an attacker to easily and accurately discover the existence of and relationships among hostnames that weren't meant to be public, though this information could likely have been discovered via other methods with additional effort. Fixed in
0.11.1
References
Updated Apr 24, 2024 · Source: OSV.dev |
v0.5.0
initial
|