CVE-2026-33532
yaml은 깊게 중첩된 YAML 컬렉션을 통해 Stack Overflow에 취약합니다.
- 게시됨
- 2026. 3. 26.
- 업데이트됨
- 2026. 3. 30.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 25.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L낮음 · 다음 30일
- 백분위수
- 39.7%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
`yaml`은 JavaScript용 YAML 파서 및 직렬화 도구입니다. 1.x 브랜치의 1.10.3 이전 버전 또는 2.x 브랜치의 2.8.3 이전 버전의 `yaml`로 YAML 문서를 파싱하면 스택 오버플로로 인해 RangeError가 발생할 수 있습니다. 노드 해석/구성 단계는 깊이 제한 없이 재귀 함수 호출을 사용합니다. 파싱용 YAML을 공급할 수 있는 공격자는 작은 페이로드(약 2–10KB)로 `RangeError: Maximum call stack size exceeded`를 트리거할 수 있습니다. 이 `RangeError`는 `YAMLParseError`가 아니므로 YAML 관련 오류만 포착하는 애플리케이션은 예기치 않은 예외 유형을 만나게 됩니다. 호스트 애플리케이션의 예외 처리 방식에 따라 요청이 실패하거나 Node.js 프로세스가 종료될 수 있습니다. Flow 시퀀스는 최소한의 바이트(수준당 2바이트: `[` 하나와 `]` 하나)로 깊은 중첩을 허용합니다. 기본 Node.js 스택에서는 약 1,000–5,000 수준의 중첩(2–10KB 입력)으로 호출 스택이 소진됩니다. 정확한 임계값은 환경에 따라 다릅니다(Node.js 버전, 스택 크기, 호출 시점의 호출 스택 깊이). 참고: 라이브러리의 `Parser`(CST 단계)는 스택 기반 반복 방식을 사용하므로 영향을 받지 않습니다. 실제 호출 스택 재귀를 사용하는 것은 compose/resolve 단계뿐입니다. 세 가지 공개 파싱 API 모두 영향을 받습니다: `YAML.parse()`, `YAML.parseDocument()`, `YAML.parseAllDocuments()`. 1.10.3 및 2.8.3 버전에는 패치가 포함되어 있습니다.
소스
1CVE-2026-33532 전용 저장소로, 웹 취약점에 대한 분석 및 잠재적 개념 증명(PoC)을 제공합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.