Read the docs
TI-2026-37024 Aliases CVE-2026-50281GHSA-x5m4-g2cq-52pq

Craft CMS: Mass assignment via id in newAttributes during bulk duplicate overwrites existing elements

Priority LOW 32CWE-915Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Tampering
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-915.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00429 37th percentileScored 2026-11-07
Fix Fixed cms (craftcms): 5.9.21craftcms/cms (Packagist): 5.9.21

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Craft CMScms5.7.0 to before 5.9.215.9.21Patch availableCNA
—craftcms/cms (Packagist)5.7.0 to before 5.9.215.9.21Patch availableGHSA-x5m4-g2cq-52pq
  • cms VendorCraft CMS Affected 5.7.0 to before 5.9.21 Fixed in 5.9.21 Patch available CNA
  • craftcms/cms (Packagist) Vendor— Affected 5.7.0 to before 5.9.21 Fixed in 5.9.21 Patch available GHSA-x5m4-g2cq-52pq

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:*——Craft CMS
  • cpe:2.3:a:craftcms:craft_cms:*:*:*:*:*:*:*:* Versions — — ·Craft CMS

Remediation

  • Fix · CNA cms (craftcms) Fixed in 5.9.21
  • Fix · GHSA-x5m4-g2cq-52pq craftcms/cms (Packagist) Fixed in 5.9.21 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-50281
  2. 2026-10-03 Alias added: GHSA-x5m4-g2cq-52pq

References

  • TI-2025-23503 Craft CMS Allows Remote Code Execution KEVCVSS 3.1CRITICAL 10.0
  • TI-2024-37138 RCE when PHP `register_argc_argv` config setting is enabled in craftcms/cms KEVCVSS 4.0CRITICAL 9.3
  • TI-2025-16994 Potential RCE with a compromised security key in craft/cms KEVCVSS 3.1HIGH 8.1
  • TI-2025-24595 Craft CMS stores user-provided content in session files KEVCVSS 4.0MEDIUM 6.9
  • TI-2023-22284 Craft CMS Remote Code Execution vulnerability CVSS 3.1CRITICAL 10.0
  • TI-2024-25171 Craft CMS up to v3.7.31 was discovered to contain a SQL injection vulnerability via the GraphQL API endpoint. CVSS 3.1CRITICAL 9.8
See all 203 →

Sources