ubuntu-cve-2026-48756
Vulnerability from osv_ubuntu
Incus is a system container and virtual machine manager. Prior to version 7.1.0, (*backend).CreateCustomVolumeFromBackup in internal/server/storage/backend.go contains an unguarded *time.Time dereference on the ExpiresAt field of every volume-snapshot entry in an imported custom-volume backup. An authenticated user with can_create_storage_volumes permission on any project can crash the incusd daemon by uploading a backup tarball whose volume_snapshots[*].expires_at field is absent. This is a sibling-field variant of GHSA-r7w7-mmxr-47r9 (CVE-2026-40197). Commit 985a1dedf9f3e7ba729c93b654905ed510de25c2 added if s == nil at the top of the loop body, but did not guard the adjacent *snapshot.ExpiresAt deref 19 lines later. Every other consumer of Config.VolumeSnapshots[i].ExpiresAt in this same file already gates the deref with a nil-check — the asymmetric guard is the bug. Version 7.1.0 contains an updated patch.
{
"affected": [
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "golang-github-lxc-lxd-dev",
"binary_version": "2.0.11-0ubuntu1~16.04.4+esm3"
},
{
"binary_name": "lxc2",
"binary_version": "2.0.11-0ubuntu1~16.04.4+esm3"
},
{
"binary_name": "lxd",
"binary_version": "2.0.11-0ubuntu1~16.04.4+esm3"
},
{
"binary_name": "lxd-client",
"binary_version": "2.0.11-0ubuntu1~16.04.4+esm3"
},
{
"binary_name": "lxd-tools",
"binary_version": "2.0.11-0ubuntu1~16.04.4+esm3"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:16.04:LTS",
"name": "lxd",
"purl": "pkg:deb/ubuntu/lxd@2.0.11-0ubuntu1~16.04.4+esm3?arch=source\u0026distro=esm-infra-legacy/xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.20-0ubuntu4",
"0.21-0ubuntu3",
"0.21-0ubuntu5",
"0.22-0ubuntu1",
"0.22-0ubuntu2",
"0.23-0ubuntu1",
"0.23-0ubuntu2",
"0.23-0ubuntu3",
"0.24-0ubuntu2",
"0.24-0ubuntu3",
"0.24-0ubuntu4",
"0.25-0ubuntu1",
"0.26-0ubuntu2",
"0.26-0ubuntu3",
"0.27-0ubuntu1",
"0.27-0ubuntu2",
"2.0.0~beta1-0ubuntu3",
"2.0.0~beta1-0ubuntu4",
"2.0.0~beta2-0ubuntu1",
"2.0.0~beta2-0ubuntu2",
"2.0.0~beta3-0ubuntu1",
"2.0.0~beta3-0ubuntu2",
"2.0.0~beta3-0ubuntu3",
"2.0.0~beta3-0ubuntu4",
"2.0.0~beta4-0ubuntu1",
"2.0.0~beta4-0ubuntu2",
"2.0.0~beta4-0ubuntu3",
"2.0.0~beta4-0ubuntu4",
"2.0.0~beta4-0ubuntu5",
"2.0.0~beta4-0ubuntu6",
"2.0.0~beta4-0ubuntu7",
"2.0.0~rc1-0ubuntu1",
"2.0.0~rc1-0ubuntu2",
"2.0.0~rc1-0ubuntu3",
"2.0.0~rc2-0ubuntu2",
"2.0.0~rc2-0ubuntu3",
"2.0.0~rc3-0ubuntu1",
"2.0.0~rc3-0ubuntu2",
"2.0.0~rc3-0ubuntu3",
"2.0.0~rc3-0ubuntu4",
"2.0.0~rc4-0ubuntu1",
"2.0.0~rc5-0ubuntu1",
"2.0.0~rc6-0ubuntu1",
"2.0.0~rc6-0ubuntu2",
"2.0.0~rc7-0ubuntu1",
"2.0.0~rc7-0ubuntu2",
"2.0.0~rc8-0ubuntu1",
"2.0.0~rc8-0ubuntu2",
"2.0.0~rc8-0ubuntu3",
"2.0.0~rc8-0ubuntu5",
"2.0.0~rc8-0ubuntu6",
"2.0.0~rc8-0ubuntu7",
"2.0.0~rc9-0ubuntu2",
"2.0.0~rc9-0ubuntu3",
"2.0.0~rc9-0ubuntu4",
"2.0.0~rc9-0ubuntu5",
"2.0.0-0ubuntu1",
"2.0.0-0ubuntu2",
"2.0.0-0ubuntu3",
"2.0.0-0ubuntu4",
"2.0.1-0ubuntu1~16.04.1",
"2.0.2-0ubuntu1~16.04.1",
"2.0.3-0ubuntu1~ubuntu16.04.2",
"2.0.4-0ubuntu1~ubuntu16.04.1",
"2.0.5-0ubuntu1~ubuntu16.04.1",
"2.0.8-0ubuntu1~ubuntu16.04.1",
"2.0.8-0ubuntu1~ubuntu16.04.2",
"2.0.9-0ubuntu1~16.04.1",
"2.0.9-0ubuntu1~16.04.2",
"2.0.10-0ubuntu1~16.04.1",
"2.0.10-0ubuntu1~16.04.2",
"2.0.11-0ubuntu1~16.04.2",
"2.0.11-0ubuntu1~16.04.4",
"2.0.11-0ubuntu1~16.04.4+esm1",
"2.0.11-0ubuntu1~16.04.4+esm2",
"2.0.11-0ubuntu1~16.04.4+esm3"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "lxd",
"binary_version": "3.0.3-0ubuntu1~18.04.2+esm3"
},
{
"binary_name": "lxd-client",
"binary_version": "3.0.3-0ubuntu1~18.04.2+esm3"
},
{
"binary_name": "lxd-tools",
"binary_version": "3.0.3-0ubuntu1~18.04.2+esm3"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:18.04:LTS",
"name": "lxd",
"purl": "pkg:deb/ubuntu/lxd@3.0.3-0ubuntu1~18.04.2+esm3?arch=source\u0026distro=esm-infra/bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"2.18-0ubuntu6",
"2.19-0ubuntu1",
"2.20-0ubuntu3",
"2.20-0ubuntu4",
"2.21-0ubuntu1",
"2.21-0ubuntu2",
"2.21-0ubuntu3",
"2.21-0ubuntu4",
"3.0.0~beta2-0ubuntu3",
"3.0.0~beta3-0ubuntu3",
"3.0.0~beta5-0ubuntu2",
"3.0.0~beta7-0ubuntu1",
"3.0.0-0ubuntu1",
"3.0.0-0ubuntu2",
"3.0.0-0ubuntu3",
"3.0.0-0ubuntu4",
"3.0.1-0ubuntu1~18.04.1",
"3.0.2-0ubuntu1~18.04.1",
"3.0.3-0ubuntu1~18.04.1",
"3.0.3-0ubuntu1~18.04.2",
"3.0.3-0ubuntu1~18.04.2+esm1",
"3.0.3-0ubuntu1~18.04.2+esm2",
"3.0.3-0ubuntu1~18.04.2+esm3"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "lxd",
"binary_version": "1:0.10"
},
{
"binary_name": "lxd-client",
"binary_version": "1:0.10"
},
{
"binary_name": "lxd-tools",
"binary_version": "1:0.10"
}
]
},
"package": {
"ecosystem": "Ubuntu:20.04:LTS",
"name": "lxd",
"purl": "pkg:deb/ubuntu/lxd@1:0.10?arch=source\u0026distro=focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1:0.7",
"1:0.8",
"1:0.9",
"1:0.10"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "golang-github-lxc-incus-dev",
"binary_version": "6.0.0-1ubuntu0.3+esm3"
},
{
"binary_name": "incus",
"binary_version": "6.0.0-1ubuntu0.3+esm3"
},
{
"binary_name": "incus-agent",
"binary_version": "6.0.0-1ubuntu0.3+esm3"
},
{
"binary_name": "incus-client",
"binary_version": "6.0.0-1ubuntu0.3+esm3"
},
{
"binary_name": "incus-migrate",
"binary_version": "6.0.0-1ubuntu0.3+esm3"
},
{
"binary_name": "incus-tools",
"binary_version": "6.0.0-1ubuntu0.3+esm3"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:24.04:LTS",
"name": "incus",
"purl": "pkg:deb/ubuntu/incus@6.0.0-1ubuntu0.3+esm3?arch=source\u0026distro=esm-apps/noble"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.4-1ubuntu1",
"0.5.1-1",
"0.5.1-3",
"0.6-1",
"6.0.0-1",
"6.0.0-1ubuntu0.1",
"6.0.0-1ubuntu0.2",
"6.0.0-1ubuntu0.2+esm1",
"6.0.0-1ubuntu0.3",
"6.0.0-1ubuntu0.3+esm1",
"6.0.0-1ubuntu0.3+esm2",
"6.0.0-1ubuntu0.3+esm3"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "golang-github-lxc-incus-dev",
"binary_version": "6.0.4-2"
},
{
"binary_name": "incus",
"binary_version": "6.0.4-2"
},
{
"binary_name": "incus-agent",
"binary_version": "6.0.4-2"
},
{
"binary_name": "incus-base",
"binary_version": "6.0.4-2"
},
{
"binary_name": "incus-client",
"binary_version": "6.0.4-2"
},
{
"binary_name": "incus-extra",
"binary_version": "6.0.4-2"
}
]
},
"package": {
"ecosystem": "Ubuntu:25.10",
"name": "incus",
"purl": "pkg:deb/ubuntu/incus@6.0.4-2?arch=source\u0026distro=questing"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"6.0.3-4",
"6.0.4-2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "golang-github-lxc-incus-dev",
"binary_version": "6.0.5-8ubuntu0.26.04.1~esm1"
},
{
"binary_name": "incus",
"binary_version": "6.0.5-8ubuntu0.26.04.1~esm1"
},
{
"binary_name": "incus-agent",
"binary_version": "6.0.5-8ubuntu0.26.04.1~esm1"
},
{
"binary_name": "incus-base",
"binary_version": "6.0.5-8ubuntu0.26.04.1~esm1"
},
{
"binary_name": "incus-client",
"binary_version": "6.0.5-8ubuntu0.26.04.1~esm1"
},
{
"binary_name": "incus-extra",
"binary_version": "6.0.5-8ubuntu0.26.04.1~esm1"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:26.04:LTS",
"name": "incus",
"purl": "pkg:deb/ubuntu/incus@6.0.5-8ubuntu0.26.04.1~esm1?arch=source\u0026distro=esm-apps/resolute"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"6.0.4-2",
"6.0.5-8",
"6.0.5-8ubuntu0.26.04.1~esm1"
]
}
],
"aliases": [],
"details": "Incus is a system container and virtual machine manager. Prior to version 7.1.0, `(*backend).CreateCustomVolumeFromBackup` in `internal/server/storage/backend.go` contains an unguarded `*time.Time` dereference on the `ExpiresAt` field of every volume-snapshot entry in an imported custom-volume backup. An authenticated user with `can_create_storage_volumes` permission on any project can crash the `incusd` daemon by uploading a backup tarball whose `volume_snapshots[*].expires_at` field is absent. This is a sibling-field variant of GHSA-r7w7-mmxr-47r9 (CVE-2026-40197). Commit `985a1dedf9f3e7ba729c93b654905ed510de25c2` added `if s == nil` at the top of the loop body, but did not guard the adjacent `*snapshot.ExpiresAt` deref 19 lines later. Every other consumer of `Config.VolumeSnapshots[i].ExpiresAt` in this same file already gates the deref with a nil-check \u2014 the asymmetric guard is the bug. Version 7.1.0 contains an updated patch.",
"id": "UBUNTU-CVE-2026-48756",
"modified": "2026-09-02T16:18:21Z",
"published": "2026-08-21T15:16:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2026-48756"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-48756"
},
{
"type": "REPORT",
"url": "https://github.com/lxc/incus/pull/3425"
},
{
"type": "REPORT",
"url": "https://github.com/lxc/incus/security/advisories/GHSA-xhqx-mgh3-3h7q"
}
],
"related": [],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P",
"type": "CVSS_V4"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2026-48756"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.