CVE-2026-33937
Handlebars.js에 AST 유형 혼동을 통한 JavaScript 주입 취약점 존재
- 게시됨
- 2026. 3. 27.
- 업데이트됨
- 2026. 9. 4.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 25.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
- 백분위수
- 75.9%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Handlebars는 사용자가 의미론적 템플릿을 만들 수 있는 강력한 기능을 제공합니다. 4.0.0부터 4.7.8 버전에서 `Handlebars.compile()`은 템플릿 문자열 외에도 사전 파싱된 AST 객체를 인자로 받습니다. `NumberLiteral` AST 노드의 `value` 필드는 따옴표 처리나 검증 없이 생성된 JavaScript에 직접 출력됩니다. 따라서 조작된 AST를 `compile()`에 전달할 수 있는 공격자는 임의의 JavaScript를 주입하고 실행할 수 있으며, 이로 인해 서버에서 원격 코드 실행(RCE)이 발생할 수 있습니다. 버전 4.7.9에서 이 문제가 수정되었습니다. 몇 가지 우회 방법이 있습니다. `Handlebars.compile()`을 호출하기 전에 입력 유형을 검증하십시오. 인자가 항상 `string`인지 확인하고, 일반 객체나 JSON 역직렬화된 값이 되지 않도록 하십시오. 템플릿이 빌드 시점에 사전 컴파일되는 경우 서버에서 Handlebars 런타임 전용 빌드(`handlebars/runtime`)를 사용하십시오. 이 경우 `compile()`은 사용할 수 없습니다.
소스
4- CVE-2026-33937익스플로잇
Handlebars.js AST Injection RCE용 Python POC 익스플로잇, Handlebars.js 4.0.0~4.7.8 버전이 영향을 받습니다. CVSS 점수: 9.8 Critical.
# CVE-2026-33937 개념 증명 익스플로잇 Handlebars AST 주입 취약점으로, Node.js에서 원격 코드 실행으로 이어지는 CVE-2026-33937에 대한 개념 증명 익스플로잇입니다. 제작된 AST 페이로드를 시연하고 완화 지침을 제공합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.