🔍 CVE-2026-21710

7.5
CVSS Score
HIGH
2026-03-30
2026-08-19 14:32
✅ 완료

🇰🇷 한글 설명

Node.js의 HTTP 요청 처리 과정에서 `__proto__` 헤더가 포함된 요청을 받을 때 `req.headersDistinct`에 접근하면 예외 처리가 불가능한 `TypeError`가 발생합니다. 이 오류는 프로퍼티 게터 내부에서 동기적으로 발생하여 일반적인 에러 이벤트 리스너로 포착할 수 없으며, 애플리케이션을 중단시킬 수 있습니다.

💡 쉬운 설명

해커가 특수한 이름의 헤더를 담은 요청을 보내면 서버 프로그램이 예상치 못한 오류를 일으켜 갑자기 멈춰버릴 수 있습니다. 이 오류는 일반적인 방법으로는 막을 수 없어 서버 운영에 치명적일 수 있습니다.

🇺🇸 원문 (English)

A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a header named `__proto__` and the application accesses `req.headersDistinct`. When this occurs, `dest["__proto__"]` resolves to `Object.prototype` rather than `undefined`, causing `.push()` to be called on a non-array. This exception is thrown synchronously inside a property getter and cannot be intercepted by `error` event listeners, meaning it cannot be handled without wrapping every `req.headersDistinct` access in a `try/catch`. * This vulnerability affects all Node.js HTTP servers on **20.x, 22.x, 24.x, and v25.x**

📍 영향받는 시스템

Node.js HTTP 서버 (20.x, 22.x, 24.x, v25.x 버전)

⚔️ 공격 벡터

HTTP 요청 헤더에 `__proto__` 필드를 포함하여 전송

🛡️ 대응 방법

Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하거나, 해당 헤더를 사전에 필터링하도록 구성

🔧 검증 코드

출력된 결과에 v20, v22, v24, v25 중 하나가 포함되어 있다면 해당 취약점에 노출된 버전입니다.

Shell / Script
node -v | grep -E 'v(20|22|24|25)\.'

📊 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