CVE-2026-50281: Craft CMS mass assignment in bulk-duplicate element action

CVE-2026-50281 · Severity: high · CVSS 4 · Published 2026-07-02

Craft CMS, a popular content management system, contains a flaw that allows users with limited permissions to overwrite content they do not own. By exploiting a weakness in the 'bulk duplicate' feature, an authorized author could modify or replace entries, categories, or user data belonging to others. This could lead to significant data corruption and loss of content integrity across the entire website.

Technologies: craftcms/cms (Packagist). Vendors: Packagist.

Quick answers

Is CVE-2026-50281 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-50281 being exploited in the wild.
How severe is CVE-2026-50281?
High severity, with a CVSS score of 4, published 2 July 2026.
Which products and versions are affected?
craftcms/cms (Packagist) >= 5.7.0, < 5.9.21, ECOSYSTEM:introduced=5.7.0,fixed=5.9.21.
Is there a fix for CVE-2026-50281?
Yes. craftcms/cms (Packagist): upgrade to 5.9.21 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-50281 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-50281?
Check whether you run craftcms/cms (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • craftcms/cms (Packagist): upgrade to 5.9.21 or later
    composer require craftcms/cms:^5.9.21

Technical details

A mass assignment vulnerability (CWE-915) exists in Craft CMS's ElementsController. While the application attempts to block 'id' and 'canonicalId' at the top level of request parameters, it fails to inspect the 'newAttributes' array used during bulk duplication. An attacker with permission to duplicate their own entries can inject a target 'id' into this array. The duplication routine clones the source element, resets its ID to null, but then uses Craft::configure() to merge the attacker-supplied attributes, which restores the target ID. Consequently, the underlying Yii framework performs a database UPDATE instead of an INSERT, overwriting the target record. This is patched in version 5.9.21.

Affected products

  • Pixel & Tonic Craft CMS >= 5.7.0, < 5.9.21

Identifiers

  • CVE-2026-50281
  • GHSA-x5m4-g2cq-52pq

Timeline

  • 2026-05-29: patched: Fix released in version 5.9.21
  • 2026-07-02: advisory: GitHub Advisory published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.