GHSA-4xfr-4p46-gc6p

    Dashboard / Vulnerabilities / GHSA-4xfr-4p46-gc6p

    GHSA-4xfr-4p46-gc6p

    Published: 20 Aug 2026Last Modified: 20 Aug 2026

    Summary: django CMS: Clipboard copy IDOR discloses unauthorized plugin content

    Details: ### Summary The clipboard copy paths of the `copy_plugins` admin endpoint validate only the target (the user's own clipboard) and skip source-side authorization. A staff user can copy plugins out of a placeholder they have no permission on into their clipboard, then read the (secret) content. ### Details In `cms/admin/placeholderadmin.py`, `_copy_plugin_to_clipboard` and `_copy_placeholder_to_clipboard` check `has_copy_plugins_permission`, which only evaluates `request.toolbar.clipboard.has_add_plugins_permission(...)` — the clipboard belongs to the requesting user, and `check_source` is likewise applied only to the clipboard. The source placeholder identified by the attacker-supplied `source_placeholder_id` / `source_plugin_id` is never authorization-checked. (The placeholder-to-placeholder copy path, `has_copy_from_placeholder_permission`, correctly checks both sides.) ### Impact A staff user holding the global add permission for a plugin type, but with no access to a given placeholder/page, can copy that placeholder's plugins into their own clipboard and read content (e.g. link names/URLs, text) they cannot reach through the normal edit endpoints. Requires `CMS_PERMISSION=True` with per-placeholder/page restrictions. ### Patches Fixed in 5.0.8: the clipboard copy paths now also verify source-side permission (`has_add_plugins_permission` + `check_source` on the source placeholder), matching placeholder-to-placeholder copy. ### Workarounds None. Upgrade is recommended. ### Credits Reported by the security team at the University of Sydney ([@reporter]).

    Affected packages

    Package

    Name: django-cms

    Purl: pkg:pypi/django-cms

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 0
    Fixed -5.0.8

    Affected versions

    2.0.1
    2.0.2

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High