CVE-2026-117499 PUBLISHED

@fastify/session vulnerable to session revocation bypass via a logout race condition

Assigner: openjs
Reserved: 27.10.2026 Published: 27.10.2026 Updated: 27.10.2026

@fastify/session is a session plugin for Fastify. In all releases before 11.1.6, with the default rolling session behavior, a request that restored a session before a logout could save its own copy after another request had completed the session destroy call, recreating the destroyed session identifier with its authenticated data. An attacker who already holds a victim's valid signed session cookie and keeps a request in flight across the logout can replay that cookie to restore the session after it was meant to be revoked, without any cookie theft or signature forgery. The issue is fixed in @fastify/session 11.1.6, which adds a per session generation marker and a conditional store write so a session restored before a logout or regeneration cannot recreate or overwrite the current entry, and users should upgrade to 11.1.6 or later. There is no workaround, and custom session stores must implement the new conditional write.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
CVSS Score: 3.7

Product Status

Vendor @fastify/session
Product @fastify/session
Versions Default: unaffected
  • affected from 0 to 11.1.6 (excl.)
  • Version 11.1.6 is unaffected

Credits

  • koyokr reporter
  • BlueN0r reporter
  • mcollina remediation developer
  • UlisesGascon remediation developer

References

Problem Types

  • CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') CWE
  • CWE-613: Insufficient Session Expiration CWE