CVE-2026-50281 Craft CMS: Mass assignment via id in newAttributes during bulk duplicate overwrites existing elements
Attackers can overwrite existing content entries by exploiting a mass-assignment flaw in the bulk duplicate feature, allowing unauthorized modification of victim data.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-50281?
CVE-2026-50281 is a high-severity vulnerability in craftcms cms, published on 2 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Craft CMS is a content management system (CMS). Versions 5.7.0 and above, prior to 5.9.21 contain a mass-assignment flaw in the bulk-duplicate element action. An attacker who is only able to duplicate their own entires can submit an arbitrary id through the newAttributes request parameter. The duplication routine overrides its own id = null reset with that value and writes the attacker's attributes into the victim's existing entry row. ElementsController::beforeAction() pulls the request body into $this->_attributes and rejects requests that ship an id or canonicalId key at the top level, actionBulkDuplicate(), reads a separate newAttributes array and passes it straight through to the service layer. Elements::duplicateElement() clones the source element, sets id to null, and then hands the attacker's array to Craft::configure(), which overwrites the reset id with any numeric value inside $newAttributes. PHP Yii's saveElement() then performs an UPDATE against the row with that primary key instead of an INSERT. The attackers's title, slug, authorId, postDate, and UID land on the victim's entry. safeAttributes() on Entry includes id because the base element model exposes it, so the Collection::only() filter does not strip it. This issue has been fixed in version 5.9.21.
Weakness: CWE-915
Which versions are affected by CVE-2026-50281?
2 open source packages ship an affected version, including craftcms/cms.
| Package | Affected | Fixed in |
|---|---|---|
craftcms/cms Packagist | From 5.7.0 | 5.9.21 |
craftcms/cms Packagist | From 5.7.0 | 5.9.21 |
How do I fix CVE-2026-50281?
Upgrade craftcms/cms to 5.9.21 or later.
Is CVE-2026-50281 being exploited?
There is no known exploitation of CVE-2026-50281 in the wild and no public exploit code.
Sources
Also known as GHSA-x5m4-g2cq-52pq.