Craft CMS: Authorship spoofing in `entries/save-entry` via pre-check/post-mutation authorization gap
Description
Craft CMS is a content management system (CMS). IN versions 5.0.0-RC1 and above prior to 5.9.21, theEntriesController::actionSaveEntry() performs entry-edit permission checks before request-controlled author changes are applied to the model, allowing for authorship spoofing. The subsequent author mutation path accepts attacker-supplied authors / author parameters and allows the change when the current user is one of the old authors. Because the controller does not re-run authorization after mutating the author list, a low-privileged user can reassign an entry’s authorship to another user without holding the dedicated peer-author-change permission. This issue has been fixed in version 5.9.21.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
craftcms/cmsPackagist | >= 5.0.0-RC1, < 5.9.21 | 5.9.21 |
Patches
Vulnerability mechanics
References
4- github.com/advisories/GHSA-qq2c-2q8j-jh27ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-50279ghsaADVISORY
- github.com/craftcms/cms/commit/9cc493be8b414d7116c7f2bc2a6d0926e73f1248ghsax_refsource_MISCWEB
- github.com/craftcms/cms/security/advisories/GHSA-qq2c-2q8j-jh27ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.