🔍 CVE-2026-87776

7.5
CVSS Score
HIGH
2026-09-11
2026-09-16 19:40
✅ 완료

🇰🇷 한글 설명

Node.js 및 Express용 compression 미들웨어 1.8.2 미만 버전에서 발생하는 메모리 누수 취약점입니다. 클라이언트가 압축된 응답을 받는 도중 연결을 중단하면 zlib 스트림이 제대로 해제되지 않아 메모리가 계속 소모됩니다. 공격자가 이를 반복할 경우 서버 메모리가 고갈되어 서비스가 중단될 수 있습니다.

💡 쉬운 설명

데이터를 압축해서 보내주는 기능이 작동 중에 연결이 끊기면, 사용했던 메모리가 정리되지 않고 계속 쌓이는 문제입니다. 나쁜 의도를 가진 사람이 이 과정을 반복하면 서버의 메모리를 모두 써버려 서버를 멈추게 할 수 있습니다.

🇺🇸 원문 (English)

compression is a Node.js and Express compression middleware. In versions before 1.8.2, when a client aborts the connection while a compressed response is still being sent, the zlib stream created to compress that response is never destroyed, so each aborted compressed response leaks its native zlib memory. A remote unauthenticated attacker can repeatedly open requests and disconnect early, exhausting the available memory and crashing the server. All applications using compression are affected. The issue is fixed in compression 1.8.2, and users should upgrade to 1.8.2 or later.

📍 영향받는 시스템

compression middleware versions < 1.8.2

⚔️ 공격 벡터

원격에서 인증되지 않은 공격자가 압축 응답 도중 연결을 반복적으로 끊어 메모리 고갈 유도

🛡️ 대응 방법

compression 미들웨어를 1.8.2 버전 이상으로 업그레이드

🔧 검증 코드

출력된 버전 번호가 1.8.2 미만인지 확인

Shell / Script
npm list compression | grep -E 'compression@'

📊 CVSS Vector String

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