Skip to content
OpenAdvisories
High · 8.7 CVE-2026-104979 EUVD-2026-92538

Plane: Cross-tenant stored XSS in intake enables account takeover

Published Oct 5, 2026 · Updated Oct 5, 2026 · Assigned by GitHub_M

Description

Plane is an open-source project management tool. Prior to 1.4.0, IntakeIssuePublicViewSet.create in Plane v1.3.1 writes description_html through Issue.objects.create(...) without calling validate_html_content from nh3. Any authenticated user, including a new user with no workspace memberships, can plant arbitrary HTML in a project that has a published DeployBoard with intake enabled. When a project member or viewer of a closed intake item clicks the planted link, the TipTap \tjavascript: parser bypass and the target="_self" click handler execute JavaScript in the viewer's session and exfiltrate a long-lived API token. This issue is fixed in 1.4.0.

Affected products

VendorProductAffectedFixed
makeplane plane < 1.4.0 —

References