| 제목 | redocly redocly-cli 2.32.2 Path Traversal |
|---|
| 설명 | Output file paths are built directly from untrusted specification content (component names, and x-codeSamples lang values) with no traversal guard, so a crafted name writes files outside the output directory with attacker controlled content.
redocly split builds output paths directly from untrusted specification content with no traversal guard. A component key (components.<type>.<key>) is used raw in getFileNamePath (packages/cli/src/commands/split/utils/iterate-components.ts:70 and get-file-name-path.ts), so a key containing ../ escapes the output directory and writes a YAML or JSON file there. A second vector is x-codeSamples[].lang, where escapeLanguageName replaces only the first / (no global flag) in packages/cli/src/utils/miscellaneous.ts:150, allowing traversal and writing fully raw attacker content.
POC: https://gist.github.com/thegr1ffyn/0c20648c521a660fbbdf2adbe380137b |
|---|
| 원천 | ⚠️ https://github.com/Redocly/redocly-cli/pull/2891 |
|---|
| 사용자 | thegr1ffyn (UID 98937) |
|---|
| 제출 | 2026. 06. 22. PM 10:03 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 08. 08. PM 04:06 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 387186 [redocly redocly-cli 까지 2.32.2 Split Command iterate-components.ts 디렉토리 순회] |
|---|
| 포인트들 | 20 |
|---|