An authenticated control panel user with only accessCp can move entries across sections via POST /actions/entries/move-to-section, even when they do not have saveEntries:{sectionUid} permission for either source or destination section.
Craft::$app->getEntries()->moveEntryToSection($entry, $section).moveEntryToSection() also does not enforce current-user authorization.actionMoveToSectionModalData for building UI options, but that check is not enforced in the actual endpoint.Therefore, a direct POST request can bypass UI filtering and perform unauthorized entry moves.
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-24T17:28:40Z",
"cwe_ids": [
"CWE-285",
"CWE-862"
],
"nvd_published_at": "2026-03-24T18:16:10Z",
"severity": "MODERATE"
}