Skip to content
Heist/ feed
Back to feed
Critical

Arbitrary file write on LXD host via symlink in migration stream

Type: advisorySources: OSV

Improper link resolution in the migration receive path in Canonical LXD versions 4.0 and later (fixed in 4.0.14, 5.0.10, 5.21.8 and 6.10) on Linux allows an authenticated client that can create instances or custom storage volumes in a project, or a malicious migration source server, to write attacker-controlled files to arbitrary paths on the target host as root, leading to full host compromise. The attacker does this with a crafted rsync or btrfs send stream that plants a symlink in the transferred volume, such as rootfs or root.img, and then writes through it.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-87799
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 19:29 UTC · Revision 1

Source evidence

Arbitrary file write on LXD host via symlink in migration stream

core-osv · Original source

Published 28 Sept 2026, 13:22 UTC

Improper link resolution in the migration receive path in Canonical LXD versions 4.0 and later (fixed in 4.0.14, 5.0.10, 5.21.8 and 6.10) on Linux allows an authenticated client that can create instances or custom storage volumes in a project, or a malicious migration source server, to write attacker-controlled files to arbitrary paths on the target host as root, leading to full host compromise. The attacker does this with a crafted rsync or btrfs send stream that plants a symlink in the transferred volume, such as rootfs or root.img, and then writes through it.

osv:CVE-2026-87799
Complete source record
{
  "id": "09532dcd0812e067181a1200d97c0d0b1398cac7da3b5723c5eda287e5be1c40",
  "url": "https://osv.dev/vulnerability/CVE-2026-87799",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Arbitrary file write on LXD host via symlink in migration stream",
    "summary": "Improper link resolution in the migration receive path in Canonical LXD versions 4.0 and later (fixed in 4.0.14, 5.0.10, 5.21.8 and 6.10) on Linux allows an authenticated client that can create instances or custom storage volumes in a project, or a malicious migration source server, to write attacker-controlled files to arbitrary paths on the target host as root, leading to full host compromise. The attacker does this with a crafted rsync or btrfs send stream that plants a symlink in the transferred volume, such as rootfs or root.img, and then writes through it.",
    "evidence": "osv:CVE-2026-87799",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-87799",
      "aliases": [
        "CVE-2026-87799",
        "GHSA-fmc3-3cpq-6whr"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/canonical/lxd",
              "type": "GIT",
              "events": [
                {
                  "introduced": "03aab09f5b5cbdada00c6539877dcf5932fcde98"
                },
                {
                  "fixed": "b6e6806eef1ffb9be88d80af840f82d762ba1e38"
                },
                {
                  "introduced": "1e1349e3cbf30c1b2ce74e531d4dd0fd52c45be1"
                },
                {
                  "fixed": "6dbdad8c58bbabc680340c61d238255cccece068"
                },
                {
                  "introduced": "761d134ceabd306f57acfb0ca51f59b03751a5b0"
                },
                {
                  "fixed": "a60b9e26b2e4b8a3353e29d8be45eb623ad16ead"
                },
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3c94d4fae7ff57e0ee79850135a277f53a18753c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "4.0.0"
                      },
                      {
                        "fixed": "4.0.14"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "5.0.0"
                      },
                      {
                        "fixed": "5.0.10"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "5.21.0"
                      },
                      {
                        "fixed": "5.21.8"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": "6.0"
                      },
                      {
                        "fixed": "6.10"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "versions": [
            "lxd-4.0.13",
            "lxd-5.0.9",
            "lxd-5.21.7",
            "lxd-4.0.12",
            "lxd-5.21.6",
            "lxd-5.0.8",
            "lxd-5.0.7",
            "lxd-5.21.5",
            "show",
            "lxd-4.0.11",
            "lxd-6.9",
            "lxd-6.8",
            "lxd-4.0.9",
            "lxd-5.17",
            "lxd-5.16",
            "lxd-5.15",
            "lxd-5.14",
            "lxd-5.13",
            "lxd-5.12",
            "lxd-5.11",
            "lxd-5.0.2",
            "lxd-5.10",
            "lxd-5.9",
            "lxd-5.8",
            "lxd-5.7",
            "lxd-5.6",
            "lxd-5.5",
            "lxd-5.0.1",
            "lxd-5.4",
            "lxd-5.3",
            "lxd-5.2",
            "lxd-5.1",
            "lxd-5.0.0",
            "lxd-4.0.8",
            "lxd-4.0.7",
            "lxd-4.0.6",
            "lxd-4.0.5",
            "lxd-4.0.4",
            "lxd-4.0.3",
            "lxd-4.0.2",
            "lxd-4.0.1",
            "lxd-4.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-87799.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.809474177Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/87xxx/CVE-2026-87799.json",
        "https://github.com/canonical/lxd/security/advisories/GHSA-fmc3-3cpq-6whr",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-87799",
        "https://github.com/canonical/lxd"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-59"
        ],
        "cna_assigner": "canonical",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/87xxx/CVE-2026-87799.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-87799",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489178,
  "published_at": "2026-09-28T13:22:29.148+00:00"
}