🔍 CVE-2026-92081

5.9
CVSS Score
MEDIUM
2026-09-16
2026-09-16 19:40
✅ 완료

🇰🇷 한글 설명

Fastify 5.12.5 미만 버전에서 HTTP/2를 사용할 때 reply.trailer()로 응답 트레일러를 등록하면 금지된 Transfer-Encoding: chunked 헤더가 강제로 설정됩니다. 이로 인해 Node.js에서 직렬화 오류가 발생하며, 예외 처리가 되지 않아 서버 프로세스가 즉시 종료되는 서비스 거부(DoS) 취약점이 존재합니다.

💡 쉬운 설명

특정 방식으로 요청을 보내면 웹 서버가 갑자기 꺼져버리는 문제입니다. 공격자가 이 방법을 반복하면 서버를 계속해서 다운시킬 수 있습니다.

🇺🇸 원문 (English)

fastify is a fast and low-overhead web framework for Node.js. In versions before 5.12.5, when a route registers a response trailer via reply.trailer() and is served over HTTP/2, fastify unconditionally sets the Transfer-Encoding: chunked header, which is forbidden on HTTP/2, so Node.js throws while serializing the response headers. The exception is not caught and becomes an uncaughtException, so a single unauthenticated HTTP/2 request to any route that uses trailers crashes the server process and drops all in-flight requests, and it can be repeated on every restart. The issue is fixed in fastify 5.12.5, and users should upgrade to 5.12.5 or later. As a workaround, avoid registering response trailers with reply.trailer() on routes served over HTTP/2 until upgrading.

📍 영향받는 시스템

Fastify versions before 5.12.5

⚔️ 공격 벡터

HTTP/2 프로토콜을 통해 트레일러를 사용하는 경로로 단일 인증되지 않은 요청을 전송

🛡️ 대응 방법

Fastify를 5.12.5 버전 이상으로 업그레이드하거나, 업그레이드 전까지 HTTP/2 환경에서 reply.trailer() 사용을 금지함

🔧 검증 코드

출력된 fastify 버전이 5.12.5 미만인지 확인

Shell / Script
npm list fastify | grep fastify

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js