@fastify/secure-session signature bypass via cookie signature removal
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-347.
Summary
@fastify/secure-session, a session plugin for Fastify, is affected from 7.5.0 before 8.4.2. When the signed cookie option is set and the signature check fails, the plugin still passes the original cookie value to the session decoder (CWE-347), so a session with an invalid signature is decrypted anyway. If an application rotates only the cookie signing secret and keeps the session encryption key, an attacker who already holds an unexpired encrypted session cookie can strip the obsolete signature and keep using the session, without knowing either secret. The attacker cannot forge session data, extend expiry, or survive rotation of the encryption key.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
@fastify/secure-session is a session plugin for Fastify that stores an encrypted session in a cookie. In versions 7.5.0 through 8.4.1, when the plugin is configured with the signed cookie option, it calls the cookie unsign routine but, when the signature check reports the value as invalid, still passes the original cookie value to the session decoder, so a session whose signature did not validate is decrypted anyway. The practical effect appears when an application supplies the cookie signing secret independently of the session encryption key and rotates only the signing secret to retire existing sessions while keeping the encryption key active, because a holder of an old session cookie can strip the now obsolete signature and keep using the session. The attacker must already possess an unexpired encrypted session cookie and needs neither secret, and cannot forge session data, extend expiry, or survive rotation of the encryption key. The issue is fixed in @fastify/secure-session 8.4.2, which no longer decodes the session when the signed cookie option is set and the signature check fails, and users should upgrade to 8.4.2 or later. As a workaround, rotate the session encryption key rather than relying on rotation of the cookie signing secret alone.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| @fastify/secure-session | @fastify/secure-session | 7.5.0 to before 8.4.2 | 8.4.2 | Patch available | CNA |
- @fastify/secure-session Vendor@fastify/secure-session Affected 7.5.0 to before 8.4.2 Fixed in 8.4.2 Patch available CNA
Remediation
Upgrade @fastify/secure-session to 8.4.2 or later, which stops decoding the session when the signed cookie option is set and the signature check fails. As a workaround, rotate the session encryption key rather than relying on rotation of the cookie signing secret alone.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA @fastify/secure-session (@fastify/secure-session) Fixed in 8.4.2
Vendor assessments
Timeline
- 2026-11-02 Threatist record created from CVE-2026-117549
- 2026-11-02 CISA SSVC decision points changed
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
Sources
- CVE-2026-117549 · CVE Program
- CVE-2026-117549 · NVD
- FIRST EPSS
- CVE-2026-117549 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences