# EvoMap evolver path traversal in fetch command allows RCE

Source: https://junglewise.ai/threats/evomap-evolver-path-traversal-in-fetch-command-allows-rce-96421234  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-05. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

Severity: low · CVSS 3.1 · Published 2026-05-05

EvoMap evolver is a Node.js-based tool for fetching and managing AI "skills" from a Hub service. A path traversal vulnerability in the `evolver fetch` command allows a malicious Hub to overwrite arbitrary project files (including the entry point itself) with attacker-controlled code, leading to remote code execution when the evolver runs subsequent commands.

Technologies: [EvoMap Evolver](https://junglewise.ai/threats/technologies/evolver), [@evomap/evolver (npm)](https://junglewise.ai/threats/technologies/evomap-evolver). Vendors: [EvoMap](https://junglewise.ai/threats/vendors/evomap), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** Low severity, with a CVSS score of 3.1, published 5 May 2026.

**Which products and versions are affected?** EvoMap Evolver <= 1.70.0-beta.4; @evomap/evolver (npm) SEMVER:introduced=0,fixed=1.70.0-beta.5.

**Is there a fix for This vulnerability?** Yes. @evomap/evolver (npm): upgrade to 1.70.0-beta.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network, in a software library.

**Am I affected?** Check whether you run EvoMap Evolver or @evomap/evolver (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @evomap/evolver (npm): upgrade to 1.70.0-beta.5 or later

  ```sh
  npm install @evomap/evolver@1.70.0-beta.5
  ```


## Technical details

The vulnerability is a path traversal in the default (non-`--out`) branch of the `evolver fetch` subcommand. The `safeId` sanitization regex permits dot characters ([^a-zA-Z0-9_\-\.]), so a skill_id of `..` passes through unchanged. Combined with `path.join('.', 'skills', '..')` which collapses to `.` (the current working directory), files are written to cwd instead of the intended `./skills/` subdirectory. The traversal check (path.relative verification) only applies when `--out` is explicitly used, leaving the documented default case vulnerable. An attacker-controlled Hub can supply `bundled_files` containing JavaScript (.js), JSON (.json), shell (.sh), or Python (.py) files that overwrite legitimate project files like `index.js` or `package.json`. The response is trusted without signature verification, and any Hub participant can set a skill_id to `..`. The vulnerability allows arbitrary code execution on next invocation of the evolver.

## Affected products

- EvoMap evolver <= 1.70.0-beta.4

## Timeline

- 2026-05-05: disclosed
- 2026-04-27: patched: Patched in version 1.70.0-beta.5

## References

- [https://github.com/EvoMap/evolver/security/advisories/GHSA-cfcj-hqpf-hccf](https://github.com/EvoMap/evolver/security/advisories/GHSA-cfcj-hqpf-hccf)
- [https://github.com/EvoMap/evolver](https://github.com/EvoMap/evolver)

## Related threats

- [EvoMap evolver validator sandbox RCE via npm/npx lifecycle scripts](https://junglewise.ai/threats/evomap-evolver-validator-sandbox-rce-via-npm-npx-lifecycle-scripts-a6b4eae8)
- [EvoMap evolver unbounded request body in /asset/submit proxy](https://junglewise.ai/threats/evomap-evolver-unbounded-request-body-in-asset-submit-proxy-73c2c485)
- [Evolver prototype pollution in mailbox store via Object.assign()](https://junglewise.ai/threats/cve-2026-42077-evomap-evolver-prototype-pollution-in-mailbox-store)
- [Evolver is a GEP-powered self-evolving engine for AI agents. Prior to version 1.69.3, a command injection vulnerability in the _extractLLM()](https://junglewise.ai/threats/cve-2026-42076-evomap-evolver-command-injection-via-execsync-in-extractllm)
- [EvoMap Evolver path traversal in fetch command via --out flag](https://junglewise.ai/threats/cve-2026-42075-evomap-evolver-path-traversal-in-fetch-command-via-out-flag)
