Summary
Redocly CLI: Path traversal when using `split` command
Advisory details
Impact
An OpenAPI or AsyncAPI description could make the split command write
files outside the chosen output directory, on the machine of anyone who runs
split against it. The write is constrained rather than a free file-write
primitive: component data is emitted only as YAML/JSON, and code-sample files are
named after the HTTP method, so an attacker can place or overwrite files at an
unintended path but has limited control over their name and contents.
Patches
Fixed in @redocly/cli v2.33.2.
Workarounds
Do not run the split command on API descriptions from untrusted or unreviewed sources.
To detect an exploit attempt, inspect the description's component names and
x-codeSamples lang values for a literal ../ — neither legitimately contains
path segments.
References
- https://github.com/advisories/GHSA-657c-g7qc-r9j2
- https://github.com/Redocly/redocly-cli/security/advisories/GHSA-657c-g7qc-r9j2
- https://nvd.nist.gov/vuln/detail/CVE-2026-63225
- https://github.com/Redocly/redocly-cli/pull/2891
- https://github.com/Redocly/redocly-cli/pull/2923
- https://github.com/Redocly/redocly-cli/commit/26a0f299fae0b3bb7bd513043d2f1e90e69f79ee
- https://github.com/Redocly/redocly-cli/commit/504120419a72b5c684471478337ee3b45d8bfad3
- https://github.com/Redocly/redocly-cli/releases/tag/@redocly/cli@1.34.17
Related vulnerabilities
All Supply chain →- HIGHCVE-2026-107377
datamodel-code-generator: Protobuf weak-import path traversal allows files to be written outside the temporary directory
- MEDIUMCVE-2026-60089
PraisonAI: Project config can auto-save agent output outside the project root
- HIGHCVE-2026-105744
Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
- HIGHCVE-2026-105865
Payload: Incomplete validation during the upload file lifecycle
- MEDIUMCVE-2026-105676
Ghost: Path Traversal via Locale Setting
- MEDIUMCVE-2026-106559
Backstage: Improper input validation in Confluence to Markdown scaffolder module