Description
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.
Problem types
CWE-915 Improperly controlled modification of Dynamically-Determined object attributes
Product status
4.12.0 (semver) before 5.0.7
5.1.0 (semver) before 5.21.5
6.0.0 (semver) before 6.8.0
Credits
Miha Purg
References
github.com/...al/lxd/security/advisories/GHSA-c3h3-89qf-jqm5
github.com/...al/lxd/security/advisories/GHSA-c3h3-89qf-jqm5 (Update of type field in restricted TLS certificate allows privilege escalation to cluster admin)
github.com/canonical/lxd/pull/17936 (Improve validation on certificate edit)