In Canonical LXD versions 4.12 through 6.7, the doCertificateUpdate function in lxd/certificates.go does not validate the Type field when handling PUT/PATCH requests to /1.0/certificates/{fingerprint} for restricted TLS certificate users, allowing a remote authenticated attacker to escalate privileges to cluster admin.
{
"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"
}
]
}
{
"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"
}
]
}
{
"binaries": [
{
"binary_name": "golang-github-lxc-incus-dev",
"binary_version": "6.0.5-8"
},
{
"binary_name": "incus",
"binary_version": "6.0.5-8"
},
{
"binary_name": "incus-agent",
"binary_version": "6.0.5-8"
},
{
"binary_name": "incus-base",
"binary_version": "6.0.5-8"
},
{
"binary_name": "incus-client",
"binary_version": "6.0.5-8"
},
{
"binary_name": "incus-extra",
"binary_version": "6.0.5-8"
}
]
}