GHSA-4jqc-jvh2-pxg9 json
Path traversal for local publishers in TechDocs backend
published 4y ago modified 4y ago
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact A malicious actor with the ability to register entities in the Software Catalog is able to write files to arbitrary paths on the techdocs backend host instance when `techdocs.publisher.type` is set to `local`.
This vulnerability is mitigated by the fact that the Software Catalog must be configured with non-standard field format validators and/or non-standard entity policies.
### Patches Those affected are advised to upgrade to `@backstage/plugin-techdocs-node` version `1.1.2` or higher.
### Workarounds If patching or upgrading is not possible, it would be sufficient to update any custom Catalog field format validators and/or custom entity policies to disallow entity names, kinds, and namespaces containing `..`
<!-- ### References todo: Link to blog post / published report. -->
### For more information If you have any questions or comments about this advisory:
- Open an issue in the [Backstage repository](https://github.com/backstage/backstage) - Visit our chat, linked to in the [Backstage README](https://github.com/backstage/backstage)
Patch / fix
- npm @backstage/plugin-techdocs-node 1.1.2
- npm @backstage/techdocs-common 0.11.16
Is GHSA-4jqc-jvh2-pxg9 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @backstage/plugin-techdocs-node | <1.1.2 |
1.1.2 |
| npm | @backstage/techdocs-common | <0.11.16 |
0.11.16 |
References
Sources
- GitHub Advisory GHSA-4jqc-jvh2-pxg9
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.