GHSA-56MX-8G9F-5CRF
Vulnerability from github – Published: 2025-11-13 16:04 – Updated: 2025-11-13 16:04Impact
This affects any Incus user in an environment where an unprivileged user may have root access to a container with an attached custom storage volume that has the security.shifted property set to true as well as access to the host as an unprivileged user.
The most common case for this would be systems using incus-user with the less privileged incus group to provide unprivileged users with an isolated restricted access to Incus. Such users may be able to create a custom storage volume with the necessary property (depending on kernel and filesystem support) and can then write a setuid binary from within the container which can be executed as an unpriivleged user on the host to gain root privileges.
Patches
A patch for this issue is available here: https://github.com/lxc/incus/pull/2642
The first commit changes the permissions for any new storage pool, the second commit applies it on startup to all existing storage pools.
Workarounds
Permissions can be manually restricted until a patched version of Incus is deployed.
This is done with:
chmod 0700 /var/lib/incus/storage-pools/*/*
chmod 0711 /var/lib/incus/storage-pools/*/buckets*
chmod 0711 /var/lib/incus/storage-pools/*/container*
Those are the same permissions which will be applied by the patched Incus for both new and existing storage pools.
References
This was reported publicly on Github: https://github.com/lxc/incus/issues/2641
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/lxc/incus/v6"
},
"ranges": [
{
"events": [
{
"introduced": "6.1.0"
},
{
"last_affected": "6.18.0"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/lxc/incus/v6"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "6.0.6"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "Go",
"name": "github.com/lxc/incus"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "0.7.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-64507"
],
"database_specific": {
"cwe_ids": [
"CWE-269"
],
"github_reviewed": true,
"github_reviewed_at": "2025-11-13T16:04:55Z",
"nvd_published_at": "2025-11-10T22:15:39Z",
"severity": "HIGH"
},
"details": "### Impact\nThis affects any Incus user in an environment where an unprivileged user may have root access to a container with an attached custom storage volume that has the `security.shifted` property set to `true` as well as access to the host as an unprivileged user.\n\nThe most common case for this would be systems using `incus-user` with the less privileged `incus` group to provide unprivileged users with an isolated restricted access to Incus. Such users may be able to create a custom storage volume with the necessary property (depending on kernel and filesystem support) and can then write a setuid binary from within the container which can be executed as an unpriivleged user on the host to gain root privileges.\n\n### Patches\nA patch for this issue is available here: https://github.com/lxc/incus/pull/2642\n\nThe first commit changes the permissions for any new storage pool, the second commit applies it on startup to all existing storage pools.\n\n### Workarounds\nPermissions can be manually restricted until a patched version of Incus is deployed.\n\nThis is done with:\n\n```\nchmod 0700 /var/lib/incus/storage-pools/*/*\nchmod 0711 /var/lib/incus/storage-pools/*/buckets*\nchmod 0711 /var/lib/incus/storage-pools/*/container*\n```\n\nThose are the same permissions which will be applied by the patched Incus for both new and existing storage pools.\n\n### References\nThis was reported publicly on Github: https://github.com/lxc/incus/issues/2641",
"id": "GHSA-56mx-8g9f-5crf",
"modified": "2025-11-13T16:04:55Z",
"published": "2025-11-13T16:04:55Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/lxc/incus/security/advisories/GHSA-56mx-8g9f-5crf"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-64507"
},
{
"type": "WEB",
"url": "https://github.com/lxc/incus/issues/2641"
},
{
"type": "WEB",
"url": "https://github.com/lxc/incus/pull/2642"
},
{
"type": "PACKAGE",
"url": "https://github.com/lxc/incus"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "Incus vulnerable to local privilege escalation through custom storage volumes"
}
Sightings
| Author | Source | Type | Date |
|---|
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.