Cyber Resilience

CVE-2026-46415

Published
20 July 2026
Modified
23 July 2026
CVSS Score v3.1 8.2
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
EPSS Score 0.0023 15th percentile
Risk Priority 60 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-46415 is a high-severity Improper Access Control (CWE-284) vulnerability. Its CVSS base score is 8.2 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Boot or Logon Initialization Scripts (T1037); ranked at the 15th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-4 (Information Flow Enforcement) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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`…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1037 Boot or Logon Initialization Scripts Persistence
Adversaries may use scripts automatically executed at boot or logon initialization to establish persistence.
T1080 Taint Shared Content Lateral Movement
T1543 Create or Modify System Process Persistence
Adversaries may create or modify system-level processes to repeatedly execute malicious payloads as part of persistence.
T1543.001 Launch Agent Persistence
Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence.
T1543.003 Windows Service Persistence
Adversaries may create or modify Windows services to repeatedly execute malicious payloads as part of persistence.
T1543.004 Launch Daemon Persistence
Adversaries may create or modify Launch Daemons to execute malicious payloads as part of persistence.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-59951Shared CWE-284, CWE-348
CVE-2023-44248Shared CWE-284
CVE-2025-50081Shared CWE-284
CVE-2026-35315Shared CWE-284
CVE-2025-36909Shared CWE-284
CVE-2025-43208Shared CWE-284
CVE-2025-57489Shared CWE-284
CVE-2025-55895Shared CWE-284
CVE-2026-60443Shared CWE-284
CVE-2026-11275Shared CWE-284

Affected Assets

—
Defender
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 15 hardening rules · 5 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V10.3.5

Mitigating Controls (NIST 800-53 r5) AI

Directly enforces approved authorizations for logical access, stopping unauthorized actors from reaching resources.

Provenance tracking supplies the information needed to distinguish and prefer more-trusted sources, reducing the chance that a weaker source is chosen.

Enforces flow-control policies that restrict information movement between subjects and objects.

Documents duties and assigns access so that no single account can bypass intended restrictions.

Limits each account to the minimum privileges needed, reducing the chance of unauthorized access.

Device identification and authentication forces verification of the source before any data it supplies is used, eliminating reliance on unauthenticated inputs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 mostly match
prevents

PR.AA-05 directly enforces policy-based access management and least privilege, eliminating most improper-access-control defects, yet CWE-284 also covers implementation flaws and design gaps outside a single management control.

PR.PS-01 mostly match
prevents

Hardened baselines and deviation monitoring directly eliminate most configuration-induced access-control defects, yet CWE-284 also encompasses code-level and design flaws outside the scope of configuration management alone.

PR.PS-06 mostly match
prevents

Secure SDLC practices catch most access-control defects during design/coding/testing (mostly), yet leave residual risk from runtime configuration, architecture, and operational controls (partial).

DE.AE-03 partial match
prevents

Correlating multiple sources can surface discrepancies that discourage reliance on the less-trusted one.

ID.RA-09 partial match
prevents

Explicit authenticity/integrity checks before use directly reduce selection of a less-trusted source.

PR.AA-01 partial match
prevents

PR.AA-01 supplies managed identities/credentials that support but do not implement access-control decisions, so it only partially prevents CWE-284 in either direction.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

High-level policy that explicitly assigns security responsibilities and mandates topic-specific rules (including access control) reduces the chance that developers or administrators will implement systems without proper authorization checks.

mitigates

The classification scheme is explicitly aligned with the access-control policy, so protective controls are applied consistently and the risk of improper access decisions is lowered.

prevents

Defining and enforcing explicit access rights and restrictions for each entity directly stops the assignment of permissions that exceed what is required, eliminating the root condition that allows improper access control.

prevents

Requiring one-to-one mapping of identities to entities and timely removal of unused identities directly stops attackers from leveraging stale or shared accounts to bypass access restrictions.

prevents

Formal authorization, role-based provisioning, and timely revocation of access rights directly stop the creation of accounts or permissions that exceed what the business actually needs.

prevents

Explicitly assigning and documenting who owns each security responsibility reduces the chance that access decisions are left undefined or inconsistently enforced.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (higher-evidence rows only; rows rated `none` are excluded).

Oracle Linux 8 (3 rules)
  • V-248575 OL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-348
  • V-248597 There must be no "shosts.equiv" files on the OL 8 operating system. prevents CWE-284
  • V-248598 There must be no ".shosts" files on the OL 8 operating system. prevents CWE-284
Oracle Linux 9 (3 rules)
  • V-271525 OL 9 must have GPG signature verification enabled for all software repositories. prevents CWE-348
  • V-271758 OL 9 file systems must not contain .shosts files. prevents CWE-284
  • V-271757 OL 9 file systems must not contain shosts.equiv files. prevents CWE-284
RHEL 7 (3 rules)
  • V-204447 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-348
  • V-204606 The Red Hat Enterprise Linux operating system must not contain .shosts files. prevents CWE-284
  • V-204607 The Red Hat Enterprise Linux operating system must not contain shosts.equiv files. prevents CWE-284
RHEL 8 (2 rules)
  • V-230283 There must be no shosts.equiv files on the RHEL 8 operating system. prevents CWE-284
  • V-230284 There must be no .shosts files on the RHEL 8 operating system. prevents CWE-284

References