🔍 CVE-2026-7768

7.5
CVSS Score
HIGH
2026-05-04
2026-06-17 11:02
✅ 완료

🇰🇷 한글 설명

@fastify/accepts-serializer에서 요청의 Accept 헤더를 기반으로 캐시된 직렬화 선택 결과를 크기 제한이나 제거 정책 없이 저장합니다. 원격 공격자가 다양한 Accept 헤더 변형을 전송하여 캐시를 무제한 증가시키고 Node.js 힙을 고갈시켜 프로세스를 중단시킬 수 있습니다.

💡 쉬운 설명

fastify 라이브러리의 캐시 기능이 공격자의 다양한 요청으로 인해 메모리를 계속 차지하다가 서버가 멈추는 문제입니다. 버전 6.0.4 이상으로 업데이트하면 캐시 크기를 100개로 제한하여 해결됩니다.

🇺🇸 원문 (English)

@fastify/accepts-serializer cached serializer-selection results keyed by the request Accept header without a size limit or eviction policy. A remote unauthenticated client could send many distinct but matching Accept header variants to make the cache grow unbounded, eventually exhausting the Node.js heap and crashing the process. Versions <= 6.0.3 are affected. Update to 6.0.4 or later, which bounds the cache via an LRU with a default size of 100 entries, configurable through the new cacheSize plugin option.

📍 영향받는 시스템

@fastify/accepts-serializer 버전 6.0.3 이하

⚔️ 공격 벡터

원격 비인증 클라이언트가 다양한 Accept 헤더 변형을 반복 전송하여 캐시 메모리 고갈

🛡️ 대응 방법

@fastify/accepts-serializer를 6.0.4 이상으로 업그레이드 또는 cacheSize 플러그인 옵션으로 캐시 크기 설정

🔧 검증 코드

출력에서 @fastify/accepts-serializer 버전이 6.0.4 이상이면 안전, 6.0.3 이하면 업그레이드 필요

Shell / Script
npm list @fastify/accepts-serializer 2>/dev/null | grep -E '@fastify/accepts-serializer|─'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js