# CVE-2026-49238: SFTP Server VM Escape in Canonical Multipass

> A local attacker in a guest VM can escape to the host and read arbitrary files via a path traversal flaw in the SFTP server.

- **Severity:** High 8.4 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** No
- **Published:** 28 May 2026
- **Updated:** 28 May 2026
- **Also known as:** GHSA-rhp2-23c4-r34w

## What is CVE-2026-49238?

CVE-2026-49238 is a high-severity path traversal vulnerability in Canonical Multipass, published on 28 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

An issue was discovered in Canonical Multipass before version 1.16.3. The host-side SFTP server component (sshfs_server), which executes with root privileges on the host, contains a path containment bypass vulnerability within its validate_path function in src/sshfs_mount/sftp_server.cpp. The function performs a plain string prefix comparison on requested paths without path separator validation or dot-dot (..) normalization. A local attacker with root privileges inside a guest virtual machine can bypass the FUSE layer by injecting raw SFTP frames (such as an SSH_FXP_OPEN request) directly into the sshfs_server process stdin/stdout pipes via procfs. By supplying a path containing directory traversal sequences that match the allowed mount prefix, the attacker can force the host-side root process to resolve the traversal and open files outside the designated mount boundary. This allows a guest-side user to read arbitrary files on the host filesystem, resulting in a virtual machine escape.

Weakness: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory)

## Which versions are affected by CVE-2026-49238?

It affects 1 product.


Products: Canonical Multipass.

## How do I fix CVE-2026-49238?

No fix has been published for CVE-2026-49238 yet. Limit exposure of the affected software until one is available.

## Is CVE-2026-49238 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49238 exists.

## Other vulnerabilities in Canonical Multipass

- [CVE-2021-3626](https://insights.sbomify.com/CVE-2021-3626/): Windows version of Multipass unauthenticated localhost tcp control socket can perform mounts (high 8.8)
- [CVE-2021-3747](https://insights.sbomify.com/CVE-2021-3747/): MacOS version of Multipass incorrect owner for application directory (high 8.8)
- [CVE-2026-49237](https://insights.sbomify.com/CVE-2026-49237/): Local Privilege Escalation in Canonical Multipass (high 7.8)
- [CVE-2025-5199](https://insights.sbomify.com/CVE-2025-5199/): LPE on Multipass for macOS (high 7.3)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-49238 and fix it if it is affected.

What it is: CVE-2026-49238 is a high-severity path traversal vulnerability in Canonical Multipass, published on 28 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49238 exists.

Affected product: Canonical Multipass. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-49238/ (Markdown: https://insights.sbomify.com/CVE-2026-49238/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-49238
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-49238
- OSV: https://osv.dev/vulnerability/CVE-2026-49238

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-49238/
Summaries are generated and may contain mistakes; the official description above is the record.
