All vulnerabilities
CVE-2026-104979GHSA-hh2r-3hwp-mvq3

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

makeplane plane
CVSS
8.7High
ExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 5 Oct 2026. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.36%Chance of exploitation activity in the next 30 days, higher than 28% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in1.4.0Fixed versionGitHub
Published5 Oct 2026Updated 5 Oct 2026CVE List

What fixes it

  • 1.4.0makeplane/plane, otherGitHub

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 2

  • planeaffected: < 1.4.0CVE List
  • makeplane/plane, other<= 1.3.1GitHub

References 4