Description (CNA)
@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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| @fastify/auth / @fastify/auth | affected 5.0.0 before 5.1.1; unaffected 5.1.1 |
CWE
CWE-285, CWE-697
References
- https://github.com/fastify/fastify-auth/security/advisories/GHSA-7h52-2rwr-m76r
- https://cna.openjsf.org/security-advisories.html
ADP enrichment
No English description supplied.
No references supplied.