🔍 CVE-2026-117499

3.7
CVSS Score
LOW
2026-10-27
2026-10-27 15:03
✅ 완료

🇰🇷 한글 설명

@fastify/session 11.1.6 이전 버전에서는 기본 롤링 세션 동작 중 로그아웃 전에 세션을 복원한 요청이, 다른 요청이 세션 파기를 완료한 뒤 자신의 사본을 저장하여 파기된 세션 식별자를 인증 데이터와 함께 되살릴 수 있습니다. 공격자가 피해자의 유효한 서명된 세션 쿠키를 보유하고 로그아웃을 가로질러 요청을 유지하면, 쿠키 탈취나 서명 위조 없이 폐기되어야 할 세션을 복원할 수 있습니다.

💡 쉬운 설명

로그아웃한 뒤에도 이전에 받아둔 세션 쿠키로 로그인 상태가 되살아날 수 있는 문제입니다. 공격자가 피해자의 세션 쿠키를 이미 가지고 있어야 악용이 가능합니다.

🇺🇸 원문 (English)

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

📍 영향받는 시스템

@fastify/session 11.1.6 미만 버전을 사용하는 Fastify 애플리케이션

⚔️ 공격 벡터

이미 유효한 피해자의 서명된 세션 쿠키를 가진 공격자가 로그아웃 시점에 요청을 진행 중으로 유지한 뒤 해당 쿠키를 재사용하여 파기된 세션을 복원

🛡️ 대응 방법

@fastify/session을 11.1.6 이상으로 업그레이드하고, 커스텀 세션 스토어는 조건부 쓰기를 구현 (우회 방법 없음)

🔧 검증 코드

출력된 버전이 11.1.6 미만이면 취약하므로 11.1.6 이상으로 업그레이드가 필요하며, 11.1.6 이상이면 패치가 적용된 상태입니다.

Shell / Script
npm ls @fastify/session 2>/dev/null | grep '@fastify/session'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Spring Data REST