{"api_version":"1","generated_at":"2026-10-01T05:18:45+00:00","cve":"CVE-2026-87798","urls":{"html":"https://cve.report/CVE-2026-87798","api":"https://cve.report/api/cve/CVE-2026-87798.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-87798","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-87798"},"summary":{"title":"LXD client recursive file pull allows directory escape via malicious VM agent","description":"Improper link resolution in the recursive file pull feature of the LXD CLI client in Canonical LXD versions 4.0.2 up to 6.9 (fixed in 4.0.14, 5.0.10 and 5.21.8) on Linux allows an attacker with root access inside a virtual machine to write attacker-controlled files or directory trees to arbitrary paths on the client host, with the operator's privileges. The attacker does this by using a modified lxd-agent that returns inconsistent SFTP directory listings and Lstat results.","state":"PUBLISHED","assigner":"canonical","published_at":"2026-09-28 14:17:21","updated_at":"2026-09-28 17:17:51"},"problem_types":["CWE-59","CWE-59 CWE-59 Improper link resolution before file access ('link following')"],"metrics":[{"version":"3.1","source":"security@ubuntu.com","type":"Secondary","score":"5.8","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N","baseScore":5.8,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"5.8","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.8,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/canonical/lxd/security/advisories/GHSA-mr8v-hx34-hfvf","name":"https://github.com/canonical/lxd/security/advisories/GHSA-mr8v-hx34-hfvf","refsource":"security@ubuntu.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-87798","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-87798","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Canonical","product":"LXD","version":"affected 4.0.2 4.0.14 semver","platforms":["Linux"]},{"source":"CNA","vendor":"Canonical","product":"LXD","version":"affected 5.0.0 5.0.10 semver","platforms":["Linux"]},{"source":"CNA","vendor":"Canonical","product":"LXD","version":"affected 5.21.0 5.21.8 semver","platforms":["Linux"]},{"source":"CNA","vendor":"Canonical","product":"LXD","version":"affected 6.0 6.9 semver","platforms":["Linux"]}],"timeline":[],"solutions":[{"source":"CNA","title":"","value":"Upgrade to LXD versions 4.0.14, 5.0.10, 5.21.8 or later.","time":"","lang":"en"}],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"87798","cve":"CVE-2026-87798","epss":"0.001880000","percentile":"0.075410000","score_date":"2026-09-29","updated_at":"2026-09-30 00:11:22"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-87798","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-09-28T14:04:47.395647Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-09-28T16:32:28.148Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"defaultStatus":"unaffected","packageName":"LXD","platforms":["Linux"],"product":"LXD","repo":"https://github.com/canonical/lxd","vendor":"Canonical","versions":[{"lessThan":"4.0.14","status":"affected","version":"4.0.2","versionType":"semver"},{"lessThan":"5.0.10","status":"affected","version":"5.0.0","versionType":"semver"},{"lessThan":"5.21.8","status":"affected","version":"5.21.0","versionType":"semver"},{"lessThan":"6.9","status":"affected","version":"6.0","versionType":"semver"}]}],"datePublic":"2026-09-25T03:00:00.000Z","descriptions":[{"lang":"en","value":"Improper link resolution in the recursive file pull feature of the LXD CLI client in Canonical LXD versions 4.0.2 up to 6.9 (fixed in 4.0.14, 5.0.10 and 5.21.8) on Linux allows an attacker with root access inside a virtual machine to write attacker-controlled files or directory trees to arbitrary paths on the client host, with the operator's privileges. The attacker does this by using a modified lxd-agent that returns inconsistent SFTP directory listings and Lstat results."}],"impacts":[{"capecId":"CAPEC-132","descriptions":[{"lang":"en","value":"CAPEC-132 Symlink Attack"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.8,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-59","description":"CWE-59 Improper link resolution before file access ('link following')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-28T13:22:36.561Z","orgId":"cc1ad9ee-3454-478d-9317-d3e869d708bc","shortName":"canonical"},"references":[{"tags":["vendor-advisory"],"url":"https://github.com/canonical/lxd/security/advisories/GHSA-mr8v-hx34-hfvf"}],"solutions":[{"lang":"en","value":"Upgrade to LXD versions 4.0.14, 5.0.10, 5.21.8 or later."}],"source":{"discovery":"EXTERNAL"},"title":"LXD client recursive file pull allows directory escape via malicious VM agent"}},"cveMetadata":{"assignerOrgId":"cc1ad9ee-3454-478d-9317-d3e869d708bc","assignerShortName":"canonical","cveId":"CVE-2026-87798","datePublished":"2026-09-28T13:22:36.561Z","dateReserved":"2026-09-09T10:00:46.383Z","dateUpdated":"2026-09-28T16:32:28.148Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-28 14:17:21","lastModifiedDate":"2026-09-28 17:17:51","problem_types":["CWE-59","CWE-59 CWE-59 Improper link resolution before file access ('link following')"],"metrics":{"cvssMetricV31":[{"source":"security@ubuntu.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N","baseScore":5.8,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":1.3,"impactScore":4}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-09-28T14:04:47.395647Z","id":"CVE-2026-87798","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"87798","Ordinal":"1","Title":"LXD client recursive file pull allows directory escape via malic","CVE":"CVE-2026-87798","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"87798","Ordinal":"1","NoteData":"Improper link resolution in the recursive file pull feature of the LXD CLI client in Canonical LXD versions 4.0.2 up to 6.9 (fixed in 4.0.14, 5.0.10 and 5.21.8) on Linux allows an attacker with root access inside a virtual machine to write attacker-controlled files or directory trees to arbitrary paths on the client host, with the operator's privileges. The attacker does this by using a modified lxd-agent that returns inconsistent SFTP directory listings and Lstat results.","Type":"Description","Title":"LXD client recursive file pull allows directory escape via malic"}]}}}