Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid low-privilege credential (API key)
-
DeliverySend authenticated request to guarded route
-
ExploitAND group drops earlier failing admin check
-
ExecutionLast-check result authorizes request
-
ImpactAccess admin-only protected resource
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an application running @fastify/auth 5.0.0 through 5.1.0 that composes strategies using the relation 'or' option together with the run 'all' option where at least one entry is a nested array acting as an AND group (or the mirror configuration: top-level relation 'and' with a nested 'or' group). The attacker must possess a valid credential that satisfies the last member of the AND group (e.g. a valid API key) but not the earlier stricter check (e.g. administrator status); the group's outcome then collapses to its last check and authorizes the request. Limiting factors: PR:L means a legitimate low-privilege credential is required (not fully unauthenticated), and exploitation is confined to this non-default, specific strategy-composition pattern - applications that omit run 'all', order the stricter check last, or use explicit top-level 'and' composition are not affected. Fixed by upgrading to 5.1.1 or later. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N, base 8.1) is well-calibrated for an authorization-logic flaw: exploitation is network-reachable with low complexity, but PR:L is decisive - the attacker must already hold a valid low-privilege credential (e.g. a valid API key) to reach the vulnerable AND-group evaluation, so this is a privilege-escalation/authorization bypass, not a true pre-auth authentication bypass. C:H/I:H with A:N is appropriate because gaining admin-equivalent authorization exposes read and write over protected resources without a direct availability impact. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is: no public exploit identified at time of analysis. This is a genuine priority for the specific subset of applications that use the vulnerable composition pattern, but the elevated 8.1 should be read through two limiters: the attacker needs a legitimate credential, and the app must be configured with the exact vulnerable strategy composition. No SSVC decision data was supplied. Note the 'Authentication Bypass' tag versus CWE-285 (Improper Authorization) - the flaw bypasses authorization decisions for an already-authenticated principal, not authentication itself. |
| Exploit ScenarioDerived | An attacker who legitimately holds a low-privilege credential such as a valid API key sends a normal authenticated request to a route guarded by @fastify/auth composed with relation 'or' plus run 'all' where one entry is a nested AND group (e.g. valid-API-key AND is-administrator). Because an earlier failing check in the group is silently dropped and only the last check determines the group's result, the attacker satisfies just the final member and is authorized as if the stricter check passed, reaching admin-only functionality. No public exploit code was identified, but the misordering is trivially triggerable once the vulnerable composition is known. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Authorization bypass in @fastify/auth versions 5.0.0 through 5.1.0 lets an authenticated low-privileged attacker who possesses a credential satisfying only the final member of a nested AND group, such as a valid API key without administrator rights, be authorized instead of rejected. The flaw occurs when strategies are composed with the relation "or" option together with the run "all" option and an entry is a nested array acting as an AND group, causing the group result to collapse to its last check; a mirror order-dependent bypass exists for top-level relation "and" with a nested "or" group. No public exploit identified at time of analysis, and there is no CISA KEV confirmation of active exploitation; the vendor-released fix is version 5.1.1 or later.
RemediationAI
Vendor-released patch: upgrade @fastify/auth to 5.1.1 or later; this is the fixed version identified in the advisory. If immediate upgrade is not possible, apply the vendor-listed workarounds: omit the run "all" option where it is not required, order each AND group so its stricter check is evaluated last, or replace nested AND groups with an explicit top-level "and" composition. Each workaround has trade-offs: ordering stricter checks last is fragile and can regress with future edits; dropping run "all" may change authorization semantics for strategies that need every check; and replacing nested groups with explicit top-level "and" requires refactoring but most directly preserves intended enforcement. Review the advisory at https://github.com/fastify/fastify-auth/security/advisories/GHSA-7h52-2rwr-m76r and the OpenJS advisory index at https://cna.openjsf.org/security-advisories.html for the authoritative fix guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
@fastify/auth is a Fastify plugin for composing multiple authentication and authorization strategies into a single route guard. The affected logic concerns its strategy composition options: when relation "or" is used with run "all" and a nested array acts as an AND group, evaluation is order-dependent so an earlier failing check is silently dropped and the group's outcome becomes the last check's result; CWE-285 (Improper Authorization) is the root cause class, reflecting a failure to enforce all required checks in an authorization decision. The CPE string cpe:2.3:a:@fastify/auth:@fastify/auth:*:*:*:*:*:*:*:* identifies the package broadly, while the vendor advisory and description limit exploitability to versions 5.0.0 through 5.1.0 in non-default composition patterns.
Know when Fastify Auth gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attacker needs a valid low-privilege credential to reach the flawed AND-group evaluation (PR:L), remotely and reliably (AV:N/AC:L); escalated authorization exposes read/write (C:H/I:H) with no availability loss.
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
@fastify/auth is a Fastify plugin that composes multiple authentication and authorization strategies into a single route guard. In versions 5.0.0 through 5.1.0, when strategies are composed with the relation "or" option together with the run "all" option and one entry is a nested array acting as an AND group, the group is evaluated in an order-dependent way: an earlier failing check is silently dropped and the group's result becomes the outcome of its last check. As a result, a request that satisfies only the last member of an AND group, for example an attacker who holds a valid API key but is not an administrator, is authorized instead of rejected, and a related order-dependent bypass affects the mirror configuration where the top-level relation is "and" and a nested group uses "or". The issue is fixed in @fastify/auth 5.1.1, and users should upgrade to 5.1.1 or later. As a workaround, omit the run "all" option where it is not required, order each AND group so its stricter check is evaluated last, or replace nested AND groups with an explicit top-level "and" composition.
Articles & Coverage 1
Technical POC Analysis
The defect is an order-dependent evaluation bug in the strategy-composition engine of @fastify/auth (npm package @fastify/auth).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A logic flaw in the widely used @fastify/auth library (versions 5.0.0 through 5.1.0) can cause authorization checks to succeed when they should be denied, potentially letting a holder of a lesser credential, such as an ordinary API key without administrator rights, reach functionality reserved for privileged users. Because this library underpins access control in Node.js APIs across our estate, any internet-facing service running the affected versions with the specific nested rule configuration could expose protected endpoints to unauthorized access. No public exploit code or active exploitation has been observed, making this a remediation and hardening priority rather than an active incident, but the concentration of risk in a shared dependency warrants prompt leadership attention.
Apply vendor patch (upgrade to @fastify/auth 5.1.1 or later).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-80788
NVD
CVE.org
EPSS
GitHub
Exploit-DB