CVE-2026-105633: Plane: Issue Attachment Ownership Hijacking via Missing `issue_id` Scope

Published Oct 5, 2026
·
Updated

Plane is an open-source project management tool. Prior to 1.4.0, the V2 issue-attachment PATCH endpoint accepts issueid in the URL but omits it from the database query. A project member can use an issueid they control in the URL while targeting another user's attachment by its pk UUID. Because the server matches only pk, workspace, and projectid, it modifies the attachment regardless of the issueid in the URL. When the attachment is pending and has not been confirmed as uploaded, the PATCH handler sets createdby = request.user and transfers attachment ownership to the attacker. This issue is fixed in 1.4.0.

Affected Software

1 affected component
Plane Plane<1.4.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Plane to a version that resolves this vulnerability.

    Fixed in 1.4.0

Event History

Oct 5, 2026
CVE Published
via MITRE·05:58 PM
Data Sourced
via MITRE·05:58 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

A project member in the affected workspace and project can exploit it. The attacker needs the UUID of another user's attachment and must be able to submit a PATCH request to the V2 issue-attachment endpoint.

2

What conditions make an attachment vulnerable to ownership takeover?

The targeted attachment must be pending and not yet confirmed as uploaded. The attacker can place an issue_id they control in the URL because affected versions do not scope the attachment lookup to that issue_id.

3

Which deployments are affected, and what is the remediation?

Plane versions prior to 1.4.0 are affected. Upgrade to Plane 1.4.0, which fixes the missing issue_id scope in the attachment PATCH endpoint.

4

How can I determine whether an ownership takeover may have occurred?

Review pending, unconfirmed attachments for cases where the created_by value changed to a project member who did not create the attachment. The vulnerability transfers ownership by setting created_by to the user making the PATCH request.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203