Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-21710 — CVE-2026-21710에 대한 개념 증명 익스플로잇으로, Node.js HTTP 요청 처리 결함으로 인해 `__proto__` 헤더를 통한 처리되지 않은 TypeError가 발생하여 서비스 거부(DoS)로 이어집니다. | Kitploit
도구/GitHubGitHub/open-flaw/cve-2026-21710
Vulnerability AnalysisExploitationWeb Application Exploitation
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

CVE-2026-21710에 대한 개념 증명 익스플로잇으로, Node.js HTTP 요청 처리 결함으로 인해 `__proto__` 헤더를 통한 처리되지 않은 TypeError가 발생하여 서비스 거부(DoS)로 이어집니다.

저장소 보기
4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-21710 — Node.js req.headersDistinct DoS

요약

필드값
CVE IDCVE-2026-21710
게시일2026-03-30
CVSS v3.17.5 HIGH (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — 제한 또는 조절 없는 리소스 할당
영향 범위Node.js 20.x, 22.x, 24.x, 25.x
수정 버전2026년 3월 보안 릴리스

설명

Node.js HTTP 요청 처리의 결함으로 인해 __proto__라는 이름의 헤더가 포함된 요청을 수신하고 애플리케이션이 req.headersDistinct에 접근할 때 처리되지 않은 TypeError가 발생합니다.

dest["__proto__"]는 undefined가 아닌 Object.prototype으로 해석되므로, 배열이 아닌 객체에 대해 .push()가 호출됩니다. 이 예외는 프로퍼티 getter 내부에서 동기적으로 발생하며 error 이벤트 리스너로는 가로챌 수 없습니다. 즉, 모든 req.headersDistinct 접근을 try/catch로 감싸지 않는 한 처리할 수 없습니다.

근본 원인

headersDistinct getter는 헤더 값을 일반 객체에 누적합니다:

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

name === "__proto__"인 경우:

  • dest["__proto__"]는 Object.prototype을 반환합니다 (truthy이며 undefined가 아님)
  • || [] 초기화가 건너뛰어집니다
  • Object.prototype에 대해 .push(value)가 호출됨 → TypeError: dest[name].push is not a function
  • 동기적 throw가 이벤트 루프 오류 경계를 벗어나 프로세스를 중단시킵니다

파일

파일설명
server.js취약한 HTTP 서버 (req.headersDistinct에 직접 접근)
poc.js개념 증명 익스플로잇

사용법

공인된 보안 연구 / 책임 있는 공개 전용입니다.

취약한 서버 시작

root@kitploit:~
node server.js
# Listening on http://127.0.0.1:3000

POC 실행

root@kitploit:~
node poc.js

예상 출력:

  1. 1단계 — 일반 요청이 성공합니다 (HTTP 200).
  2. 2단계 — __proto__ 헤더가 전송되고, 서버가 처리되지 않은 TypeError로 인해 중단됩니다.
  3. 3단계 — 후속 요청에서 연결 오류가 발생하여 중단을 확인합니다.

참고 자료

  • NVD — CVE-2026-21710
  • Node.js 2026년 3월 보안 릴리스
도구 다운로드