Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-46415: CWE-284: Improper Access Control in JasonLovesDoggo caddy-defender

0
High
VulnerabilityCVE-2026-46415cvecve-2026-46415cwe-284cwe-348
Published: 07/20/2026 (07/20/2026, 15:05:21 UTC)
Source: CVE Database V5
Vendor/Project: JasonLovesDoggo
Product: caddy-defender

Description

The Caddy Defender plugin is a middleware for Caddy that allows users to block or manipulate requests based on the client's IP address. Prior to version 0.10.1, Caddy Defender used `r.RemoteAddr` when evaluating whether a request should be blocked. `RemoteAddr` is the address of the immediate peer connected to Caddy. In deployments where Caddy is behind a trusted proxy, CDN, or load balancer, the immediate peer is usually the proxy, not the original client. Caddy resolves the original client address into its `client_ip` request variable after applying the configured `trusted_proxies` policy, but Defender did not use that value. As a result, clients from blocked IP ranges could bypass Defender when accessing Caddy through a trusted proxy whose own IP address was not blocked. This affects deployments that use Defender behind trusted proxies and expect it to enforce blocking based on the real client IP. The issue is fixed in version 0.10.1 by making Defender prefer Caddys resolved `client_ip` request variable when it is available. Defender falls back to `RemoteAddr` only when Caddy has not provided a resolved client IP. There is no complete workaround in affected Defender versions for deployments that rely on Caddy's trusted proxy client IP resolution. Until upgrading, affected users should enforce equivalent IP blocking at the trusted proxy, CDN, load balancer, firewall, or other edge layer before traffic reaches Caddy. Deployments where Caddy receives traffic directly from clients, without an intermediate trusted proxy, are not affected by this bypass.

CVSS v3.1

Score 8.2high

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N

Affected software

GitHub Actionsmore threats →ai
jasonlovesdoggo/caddy-defender
pkg:github/jasonlovesdoggo/caddy-defender
Affected versions
<0.10.1

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 07/20/2026, 15:41:43 UTC

Technical Analysis

The caddy-defender plugin for Caddy before version 0.10.1 improperly used the immediate peer IP address (r.RemoteAddr) for access control decisions instead of the resolved original client IP (client_ip) when behind trusted proxies. This flaw allowed clients from blocked IP ranges to bypass IP-based blocking if traffic passed through a trusted proxy or CDN whose IP was not blocked. The vulnerability is addressed in version 0.10.1 by preferring the resolved client_ip variable for blocking decisions, falling back to RemoteAddr only if client_ip is unavailable. Deployments without intermediate proxies are unaffected. No full workaround exists in affected versions; users should implement equivalent IP blocking at the proxy or edge before traffic reaches Caddy.

Potential Impact

Clients from IP ranges that should be blocked can bypass caddy-defender's blocking when accessing Caddy behind trusted proxies, CDNs, or load balancers. This results in improper access control, potentially allowing unauthorized access or evasion of IP-based restrictions. The vulnerability does not affect deployments where Caddy receives traffic directly from clients without intermediate proxies.

Mitigation Recommendations

A fix is available in caddy-defender version 0.10.1, which correctly uses Caddy's resolved client_ip for access control. Users should upgrade to version 0.10.1 or later to remediate this issue. Until upgrading, affected deployments must enforce equivalent IP blocking at the trusted proxy, CDN, load balancer, firewall, or other edge layer before traffic reaches Caddy, as no complete workaround exists within affected Defender versions. Deployments without intermediate proxies are not affected and require no action.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-05-13T21:04:10.933Z
Cvss Version
3.1
State
PUBLISHED
Remediation Level
null

Threat ID: 6a5e3e5e2a4a8d5989464e38

Added to database: 07/20/2026, 15:27:26 UTC

Last enriched: 07/20/2026, 15:41:43 UTC

Last updated: 07/21/2026, 03:44:46 UTC

Views: 15

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses