Skip to main content

Wekan CVE-2026-68559

| EUVDEUVD-2026-62700 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-08-19 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with any Wekan account
  2. Delivery
    Discover or enumerate target board ID
  3. Exploit
    Send GET /api/boards/:boardId/exportExcel
  4. Execution
    Un-awaited Promise bypasses board.isVisibleBy(user) check
  5. Impact
    Receive full Excel export of private board data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires a valid, authenticated Wekan session (any user account suffices - no elevated privileges or board membership needed). The attacker must know or enumerate at least one target board ID, which are UUIDs exposed through API responses for boards the attacker legitimately belongs to or potentially predictable. The affected route GET /api/boards/:boardId/exportExcel must be reachable from the attacker's network position. Exploitation is limited to Wekan versions 9.57-9.73 and does not affect the JSON export route (/api/boards/:boardId/export), which correctly awaited the same guard and returned HTTP 403 for non-members. No special configuration, non-default feature flag, or OS-level access is required beyond a valid session.

Impact

The CVSS 3.1 score of 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) accurately reflects real-world risk: network-accessible, trivially exploitable with no complexity, but requiring a valid Wekan session (PR:L). The confidentiality impact is high - full board contents including private data - while there is no integrity or availability impact. A read-only PoC was confirmed by the reporting researcher (sec-reex), so exploit construction is not a barrier. The vulnerability is not listed in CISA KEV, and EPSS data was not provided in the input. The risk profile is modest in absolute terms due to Wekan's limited deployment footprint, but for organizations relying on Wekan for sensitive project management, any authenticated internal user (or compromised account) can exfiltrate all private board data without detection beyond normal API logging. The recurring un-awaited async-auth pattern in this codebase (at least four prior instances) suggests the control gap may have been present across different attack surfaces for an extended period.

Exploit ScenarioDerived

An attacker with any valid Wekan account - such as a contractor, a low-privilege employee, or an account compromised via credential stuffing - enumerates board IDs (which may be predictable UUIDs or discoverable via other API endpoints) and issues GET /api/boards/<boardId>/exportExcel requests for boards they are not a member of. Because the authorization guard is never evaluated, the server returns a full Excel export containing card titles, descriptions, assignees, swimlanes, and member lists for private boards. A read-only PoC confirming this behavior was provided by the reporter during responsible disclosure.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

Broken access control in Wekan's Excel export REST endpoint exposes private board contents to any authenticated user, regardless of board membership. Wekan versions 9.57 through 9.73 failed to await the async authorization guard in models/exportExcel.js, causing the Promise return value to always evaluate as truthy and bypass the board.isVisibleBy(user) check entirely. Any authenticated user can enumerate and download card titles, descriptions, lists, swimlanes, members, and metadata from private boards they are not a member of via GET /api/boards/:boardId/exportExcel. A read-only proof-of-concept was confirmed by the reporter (sec-reex) through responsible disclosure; no KEV listing at time of analysis.

RemediationAI

Upgrade to Wekan v9.74 or later, which fixes the vulnerability by changing the conditional in models/exportExcel.js from if (exporterExcel.canExport(user) || impersonateDone) to if ((await exporterExcel.canExport(user)) || impersonateDone), ensuring the async guard resolves before the export proceeds. The patched release is available at https://github.com/wekan/wekan/releases/tag/v9.74. If immediate upgrade is not possible, disable or restrict network access to the GET /api/boards/:boardId/exportExcel endpoint at the reverse proxy or firewall layer - note this removes Excel export functionality for all users. Restricting the Wekan API surface to authenticated internal networks only reduces exposure but does not eliminate the vulnerability, as any authenticated user remains a potential threat actor under this flaw.

Affected VersionsENISA

Wekan 9.57, < 9.74

Affected Packages

euvd wekan_9_57 fix: 9.74

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

Wekan is a Meteor-based open-source kanban application (cpe:2.3:a:wekan:wekan:*:*:*:*:*:*:*:*). The vulnerability is a CWE-639 (Authorization Bypass Through User-Controlled Key) caused by a JavaScript async/await misuse: the authorization method canExport(user) in models/server/ExporterExcel.js is declared async, meaning it always returns a Promise object. In models/exportExcel.js the call site omitted the await keyword, so the conditional if (exporterExcel.canExport(user) || impersonateDone) evaluated a Promise - which is always truthy - rather than the resolved boolean. This caused exporterExcel.build(res) to execute unconditionally. The same un-awaited async-auth bug class previously affected 48 REST endpoints in BFLABleed (v9.22), CloneBleed (allowIsBoardMemberByCard, v9.35), and TokenBleed. The correctly-awaited JSON export route (/export) returned HTTP 403 for the same scenario, confirming the control exists but was wired incorrectly for the Excel route alone.

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 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network-accessible API route, no complexity, requires authenticated session (PR:L), no user interaction; impact is confidentiality-only as export is read-only.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/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
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Aug 19, 2026 - 20:03 EUVD

DescriptionCVE.org

Wekan is open source kanban built with Meteor. From 9.57 until 9.74, the /api/boards/:boardId/exportExcel route in models/exportExcel.js called the asynchronous exporterExcel.canExport(user) authorization guard from models/server/ExporterExcel.js without awaiting it. The returned Promise was always truthy, so exporterExcel.build(res) ran even when board.isVisibleBy(user) would deny access, allowing any authenticated non-member to download private board card titles, descriptions, lists, swimlanes, members, and metadata. This issue is fixed in version 9.74.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche open-source kanban, limited production enterprise footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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