IT SBIT Services
Schneeberger
DEEN
CVE tracker

Plane: Stored cross-site scripting in intake enables session token theft

CVE-2026-104979High 8.7

← All vulnerabilities

Summary

Plane, an open-source project management tool, does not sanitize the HTML description of intake items submitted through the public intake feature (IntakeIssuePublicViewSet.create). Any authenticated user, including one without workspace membership, can store HTML in a project with a published DeployBoard and intake enabled. When a project member or viewer opens the planted link, JavaScript runs in their session and can steal a long-lived API token. The vulnerability is tracked as CWE-79 and CWE-862.

Affected

  • Plane versions before 1.4.0 (advisory example: v1.3.1)

Fixed in

  • Plane 1.4.0 or later (latest 1.4.x release recommended)

Workaround

Unknown.

Exploitation

  • CISA SSVC: exploitation 'poc', automatable 'no', technical impact 'total'
  • Not listed as known exploited (KEV: no)

Our recommendation

  • Upgrade Plane to 1.4.0 or a later 1.4.x release.
  • If an upgrade cannot be done immediately, disable public intake and DeployBoard publishing.
  • Review existing intake items for suspicious links and HTML content.
  • After patching, rotate API tokens if compromise is suspected.
  • Restrict self-registration on internet-facing instances.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 05:34.

Original description (NVD)

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.

NVD references (5)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.