---
id: CVE-2026-92087
title: >-
  @fastify/auth is a Fastify plugin that composes multiple authentication and
  authorization strategies into a single route guard
summary: >-
  @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…
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-285
  - CWE-697
vendor: '@fastify/auth'
product: '@fastify/auth'
affected:
  - '@fastify/auth >= 5.0.0 < 5.1.1'
published: '2026-09-16'
updated: '2026-09-17'
sourceUpdated: '2026-09-17T20:18:55.393'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-92087'
references:
  - url: 'https://cna.openjsf.org/security-advisories.html'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://github.com/fastify/fastify-auth/security/advisories/GHSA-7h52-2rwr-m76r
    label: ce714d77-add3-4f53-aff5-83d477b104bb
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-09-17T19:10:08.336484Z'
ingestedAt: '2026-09-16T14:57:28.060Z'
epss: 0.00364
epssPercentile: 0.30088
---

## Overview

@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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
