{"answers":{"affected":"4 open source packages ship an affected version, including craftcms/cms.","exploited":"There is no known exploitation of CVE-2026-50284 in the wild and no public exploit code.","fix":"Upgrade craftcms/cms to a fixed version for your release line: 4.17.15 or 5.9.22.","what":"CVE-2026-50284 is a high-severity missing authorization vulnerability in craftcms cms, published on 1 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-50284 and fix it if it is affected.\n\nWhat it is: CVE-2026-50284 is a high-severity missing authorization vulnerability in craftcms cms, published on 1 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-50284 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- craftcms/cms (Packagist): affected from 4.0.0-RC1; fixed in 4.17.15\n- craftcms/cms (Packagist): affected from 4.0.0-RC1; fixed in 4.17.15\n- craftcms/cms (Packagist): affected from 5.0.0-RC1; fixed in 5.9.22\n- craftcms/cms (Packagist): affected from 5.0.0-RC1; fixed in 5.9.22\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-50284/ (Markdown: https://insights.sbomify.com/CVE-2026-50284/index.md)","id":"CVE-2026-50284","markdown":"https://insights.sbomify.com/CVE-2026-50284/index.md","name":"CVE-2026-50284","record":{"aliases":["GHSA-7h62-6v23-v8fm"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"Craft CMS","requires_auth":"low_privilege","summary":"Low-privilege users with folder management rights can delete other users' assets due to a missing peer-permission check in the folder deletion endpoint.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":7.1,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:L/SA:N","version":"4.0"},"cwes":[{"id":"CWE-862","name":"Missing Authorization"}],"description":"Craft CMS is a content management system (CMS). In versions 5.0.0-RC1 through 5.9.21 and 4.0.0-RC1 through 4.17.14, theAssetsController::actionDeleteFolder() only requires the deleteAssets:\u003cvolume-uid\u003e permission for the target folder. It never enforces deletePeerAssets:\u003cvolume-uid\u003e, even though Assets::deleteFoldersByIds() cascades deletion to every descendant folder and every asset inside, regardless of the uploader's assigned privileges. A low-privilege user who has been granted folder-management rights on a shared volume can therefore destroy assets uploaded by other users (peer assets), bypassing the per-asset peer-permission check that the sibling actionDeleteAsset endpoint correctly applies. This issue has been fixed in versions 4.17.15 and 5.9.22.","ecosystems":["Packagist"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Craft CMS: Missing peer-permission check in `AssetsController::actionDeleteFolder` allows deletion of other users' assets","id":"CVE-2026-50284","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Packagist","product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":4,"n_references":2,"next":{"headline":"Pomerium: Pre-Auth Memory Exhaustion via Unbounded zstd Decompression in HPKE Callback","id":"CVE-2026-50285"},"packages":[{"ecosystem":"Packagist","fixed":["4.17.15"],"introduced":["4.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":null,"source":"GHSA-7h62-6v23-v8fm"},{"ecosystem":"Packagist","fixed":["4.17.15"],"introduced":["4.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":"pkg:composer/craftcms/cms","source":"GHSA-7h62-6v23-v8fm"},{"ecosystem":"Packagist","fixed":["5.9.22"],"introduced":["5.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":null,"source":"GHSA-7h62-6v23-v8fm"},{"ecosystem":"Packagist","fixed":["5.9.22"],"introduced":["5.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":"pkg:composer/craftcms/cms","source":"GHSA-7h62-6v23-v8fm"}],"prev":{"headline":"Craft CMS: Unauthorized Deletion of Source Assets During File Replacement","id":"CVE-2026-50283"},"products":["cms"],"published":"2026-07-01","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-07-02","vendors":["craftcms"]},"summary":"Low-privilege users with folder management rights can delete other users' assets due to a missing peer-permission check in the folder deletion endpoint.","url":"https://insights.sbomify.com/CVE-2026-50284/"}