{"id":"CVE-2026-34178","state":"PUBLISHED","title":"Importing a crafted backup leads to project restriction bypass","description":"In Canonical LXD before 6.8, the backup import path validates project restrictions against backup/index.yaml in the supplied tar archive but creates the instance from backup/container/backup.yaml, a separate file in the same archive that is never checked against project restrictions. An authenticated remote attacker with instance-creation permission in a restricted project can craft a backup archive where backup.yaml carries restricted settings such as security.privileged=true or raw.lxc directives, bypassing all project restriction enforcement and allowing full host compromise.","publishedAt":"2026-04-09T09:18:58.404Z","updatedAt":"2026-04-09T11:55:20.431Z","severity":{"score":9.1,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","source":"canonical"},"assigner":"canonical","products":["Canonical lxd"],"affected":[{"vendor":"Canonical","product":"lxd","packageName":"lxd","defaultStatus":"unaffected","versions":[{"version":"4.12.0","status":"affected","lessThan":"5.0.7","versionType":"semver"},{"version":"5.1.0","status":"affected","lessThan":"5.21.5","versionType":"semver"},{"version":"6.0.0","status":"affected","lessThan":"6.8.0","versionType":"semver"}],"platforms":["Linux"],"collectionURL":"https://github.com/canonical","repo":"https://github.com/canonical/lxd","programFiles":["permissions.go"]}],"references":["https://github.com/canonical/lxd/security/advisories/GHSA-q96j-3fmm-7fv4","https://github.com/canonical/lxd/pull/17921"],"weaknesses":["CWE-20"],"ingestedAt":"2026-10-29T20:11:40.391Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/34xxx/CVE-2026-34178.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-34178","state":"PUBLISHED","datePublished":"2026-04-09T09:18:58.404Z","dateUpdated":"2026-04-09T11:55:20.431Z","assignerShortName":"canonical","assignerOrgId":"cc1ad9ee-3454-478d-9317-d3e869d708bc","dateReserved":"2026-03-26T09:24:08.449Z"},"containers":{"cna":{"title":"Importing a crafted backup leads to project restriction bypass","descriptions":[{"lang":"en","value":"In Canonical LXD before 6.8, the backup import path validates project restrictions against backup/index.yaml in the supplied tar archive but creates the instance from backup/container/backup.yaml, a separate file in the same archive that is never checked against project restrictions. An authenticated remote attacker with instance-creation permission in a restricted project can craft a backup archive where backup.yaml carries restricted settings such as security.privileged=true or raw.lxc directives, bypassing all project restriction enforcement and allowing full host compromise."}],"affected":[{"vendor":"Canonical","product":"lxd","packageName":"lxd","defaultStatus":"unaffected","versions":[{"version":"4.12.0","status":"affected","lessThan":"5.0.7","versionType":"semver"},{"version":"5.1.0","status":"affected","lessThan":"5.21.5","versionType":"semver"},{"version":"6.0.0","status":"affected","lessThan":"6.8.0","versionType":"semver"}],"platforms":["Linux"],"collectionURL":"https://github.com/canonical","repo":"https://github.com/canonical/lxd","programFiles":["permissions.go"]}],"references":[{"url":"https://github.com/canonical/lxd/security/advisories/GHSA-q96j-3fmm-7fv4","name":"Importing a crafted backup leads to project restriction bypass","tags":["vdb-entry","vendor-advisory"]},{"url":"https://github.com/canonical/lxd/pull/17921","name":"Import: Create backup config from index","tags":["patch","issue-tracking"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"HIGH","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseSeverity":"CRITICAL","baseScore":9.1,"vectorString":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","lang":"en","description":"CWE-20 Improper input validation","type":"CWE"}]}],"providerMetadata":{"shortName":"canonical","orgId":"cc1ad9ee-3454-478d-9317-d3e869d708bc","dateUpdated":"2026-04-09T09:18:58.404Z"},"credits":[{"lang":"en","value":"Miha Purg","type":"finder"}],"source":{"discovery":"INTERNAL"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/canonical/lxd/security/advisories/GHSA-q96j-3fmm-7fv4","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-04-09T11:54:57.626476Z","id":"CVE-2026-34178","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-09T11:55:20.431Z"}}]}}}