Description
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.
Published: 2026-08-21
Score: 2.1 Low
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in Incus, a system container and virtual machine manager, where the internal server storage backend fails to guard a nil dereference of the ExpiresAt field for volume snapshots during the creation of a custom volume from a backup. An authenticated user who has permission to create storage volumes in any project can upload a crafted backup tarball lacking the volume_snapshots[*].expires_at field. This causes the incusd daemon to crash, resulting in a denial of service for all users on the affected host. The flaw is a sibling‑field variant of a previously identified GHSA-r7w7 issue and was not fully mitigated by the patch added before the release of 7.1.0. The final patch in version 7.1.0 adds a nil check before dereferencing the ExpiresAt pointer, fully correcting the problem. The impact is limited to availability; the crash does not expose data or elevate privileges. However, any interruption to the incusd service can hinder all container and VM operations on the host.

Affected Systems

Incus versions earlier than 7.1.0 are affected, specifically any build of the lxc:incus product that ships with the unpatched backend.go file. Users operating within any Incus project that grant the can_create_storage_volumes right are vulnerable as the attack requires authenticated access and the privilege to create storage volumes.

Risk and Exploitability

The CVSS score of 2.1 classifies the vulnerability as low severity. The attack vector requires authentication and is limited to privileged users who can create storage volumes. Because the vulnerability results only in a service crash, it is not listed in the CISA KEV catalog. Although the likelihood of exploitation is low, the internal impact on service availability makes it advisable to remediate promptly.

Generated by OpenCVE AI on August 21, 2026 at 16:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply Incus 7.1.0 or later to receive the patch that null‑checks the ExpiresAt field.
  • Revoke the can_create_storage_volumes privilege from users who do not require volume creation until the update can be applied.
  • Review and tighten backup upload procedures to ensure that any volume snapshot data includes the ExpiresAt field or that missing fields are validated before use.

Generated by OpenCVE AI on August 21, 2026 at 16:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6370-1 incus security update
Github GHSA Github GHSA GHSA-xhqx-mgh3-3h7q Incus: CreateCustomVolumeFromBackup nil-pointer dereference on volume_snapshots[*].expires_at (sibling-field variant of GHSA-r7w7)
History

Fri, 21 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Lxc
Lxc incus
Vendors & Products Lxc
Lxc incus

Fri, 21 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Incus: CreateCustomVolumeFromBackup nil-pointer dereference on volume_snapshots[*].expires_at (sibling-field variant of GHSA-r7w7)
Weaknesses CWE-476
References
Metrics cvssV4_0

{'score': 2.1, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T14:10:34.151Z

Reserved: 2026-05-22T19:39:05.356Z

Link: CVE-2026-48756

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-21T15:16:41.210

Modified: 2026-08-21T15:16:41.210

Link: CVE-2026-48756

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T16:15:03Z

Weaknesses