{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49238 exists.","fix":"No fix has been published for CVE-2026-49238 yet. Limit exposure of the affected software until one is available.","what":"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."},"fix_prompt":"Check this codebase for CVE-2026-49238 and fix it if it is affected.\n\nWhat 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.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49238 exists.\n\nAffected product: Canonical Multipass. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. 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.\n2. 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.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-49238/ (Markdown: https://insights.sbomify.com/CVE-2026-49238/index.md)","id":"CVE-2026-49238","markdown":"https://insights.sbomify.com/CVE-2026-49238/index.md","name":"CVE-2026-49238","record":{"aliases":["GHSA-rhp2-23c4-r34w"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["data_read","privilege_escalation"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Virtualization tool","requires_auth":"low_privilege","summary":"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.","user_interaction":"not_required","vuln_class":"path_traversal"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"canonical","cpe":[{"product":"multipass","vendor":"canonical"}],"cvss":{"score":8.4,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"SFTP Server VM Escape in Canonical Multipass","id":"CVE-2026-49238","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"path_traversal","year":"2026"},"n_packages":0,"n_references":1,"next":{"headline":"Angular: Multiple Remote Code Execution Vulnerabilities in Angular Language Service VS Code Extension","id":"CVE-2026-49241"},"packages":[],"prev":{"headline":"Local Privilege Escalation in Canonical Multipass","id":"CVE-2026-49237"},"products":["Multipass"],"published":"2026-05-28","related":[{"cvss_score":8.8,"headline":"Windows version of Multipass unauthenticated localhost tcp control socket can perform mounts","id":"CVE-2021-3626","kev_date_added":null,"published":"2021-10-01"},{"cvss_score":8.8,"headline":"MacOS version of Multipass incorrect owner for application directory","id":"CVE-2021-3747","kev_date_added":null,"published":"2021-10-01"},{"cvss_score":7.8,"headline":"Local Privilege Escalation in Canonical Multipass","id":"CVE-2026-49237","kev_date_added":null,"published":"2026-05-28"},{"cvss_score":7.3,"headline":"LPE on Multipass for macOS","id":"CVE-2025-5199","kev_date_added":null,"published":"2025-07-11"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-05-28","vendors":["Canonical"]},"summary":"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.","url":"https://insights.sbomify.com/CVE-2026-49238/"}