Skip to main content

Wekan CVE-2026-52890

HIGH
Path Traversal (CWE-22)
2026-07-15 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as board member with write access
  2. Delivery
    Call /attachments/insert DDP method
  3. Exploit
    Set versions.original.path to target file and storage to filesystem
  4. Execution
    Bypass missing storage-root containment check
  5. Persist
    Retrieve attachment to read arbitrary file or stream /dev/zero
  6. Impact
    Exfiltrate sensitive data or cause denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Exploitation requires an authenticated Wekan account that is a member of at least one board with write access, and requires the server to be using the filesystem attachment storage strategy that FileStoreStrategyFilesystem.getReadStream() serves. The attacker must reach the /attachments/insert DDP method (network-accessible per AV:N) and supply crafted versions.original.path and versions.original.storage values. Limiting factors: it is not unauthenticated (a valid, write-capable board member is needed), so instances that tightly control board membership sharply reduce exposure; arbitrary-read impact is bounded by the filesystem permissions of the Wekan process account; and the specific getReadStream traversal targets the filesystem backend rather than object-storage (S3/GridFS) configurations.

Impact

The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L, base 7.1) aligns well with the described mechanics: network-reachable DDP endpoint, low attack complexity, and low privileges (any logged-in board member with write access), yielding high confidentiality impact (arbitrary file read) plus low availability impact (DoS via /dev/zero) and no integrity impact. No EPSS score, KEV entry, POC, or SSVC decision data was provided, so exploitation-probability and automatability signals are unknown rather than low. The practical priority is moderate-to-high for organizations running multi-tenant or internet-exposed Wekan instances where untrusted users can obtain board membership, because the barrier (a normal member account) is realistic; it is lower for tightly controlled internal deployments. Note one nuance to verify: PR:L assumes the attacker already has board write access, so the real-world exposure depends on how freely board membership is granted in a given deployment.

Exploit ScenarioDerived

An attacker who holds (or is granted) ordinary write-level membership on any Wekan board calls the /attachments/insert DDP method with versions.original.storage set to the filesystem strategy and versions.original.path pointing at a sensitive host file such as /etc/passwd or an application config file, then downloads the attachment to exfiltrate its contents. The same technique aimed at /dev/zero causes the server to stream endlessly, producing a denial-of-service condition. No public exploit code has been identified, but the low complexity (AC:L) and lack of user interaction make weaponization straightforward for anyone with board access.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 15, 2026

Arbitrary file read and denial of service in Wekan (open-source Meteor kanban board) before version 9.31 allows an authenticated board member to read any file the server process can access by supplying attacker-controlled versions.original.path and versions.original.storage values to the /attachments/insert DDP method. Because the server-side insert permission rule only validates board write access and the filesystem store never confirms the path stays within the storage root, a low-privileged user can exfiltrate sensitive host files or hang the process by pointing at special files like /dev/zero. There is no public exploit identified at time of analysis and the flaw is not listed in CISA KEV, but a fixing commit and release (v9.31) are public.

RemediationAI

Upgrade to the fixed release, Vendor-released patch: v9.31 (https://github.com/wekan/wekan/releases/tag/v9.31), which is applied by commit fc92b342ceedcf38dbd614a0f7b50d6dc2b22eb8 and documented in advisory GHSA-g6vm-7757-pr88. If immediate upgrade is not possible, reduce exposure by restricting who can obtain board membership (avoid granting write access to untrusted or self-registered users) and by not exposing the Wekan DDP/web interface to untrusted networks; run the Wekan process under a dedicated low-privilege OS account with a tightly scoped filesystem and mandatory access controls (AppArmor/SELinux) so that even a successful traversal cannot read sensitive host files such as credentials or /etc/shadow, and consider blocking access to device files. These controls limit blast radius but do not close the authorization gap, so patching to 9.31 remains the definitive fix.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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/Node.js application that exposes server methods over DDP (Distributed Data Protocol) and stores attachment metadata in MongoDB with configurable storage backends. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal): the insert authorization logic in server/permissions/attachments.js checks only that the caller has board write access, while FileStoreStrategyFilesystem.getReadStream() in models/lib/fileStoreStrategy.js opens whatever absolute path is stored in the attachment's versions.original.path field without verifying it is contained under the intended storage root. Because attachment documents are inserted client-side via DDP with attacker-supplied path and storage fields, the trust boundary between untrusted client input and the server's file-system access is crossed. The affected component is cpe:2.3:a:wekan:wekan across all versions prior to 9.31.

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

Network-reachable DDP method (AV:N/AC:L) needs a logged-in write-capable board member (PR:L); arbitrary file read gives C:H, /dev/zero DoS gives A:L, no integrity impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/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
Low

DescriptionCVE.org

Wekan is open source kanban built with Meteor. Prior to 9.31, Wekan allows a logged-in board member to insert an attachment document through the /attachments/insert DDP method with attacker-controlled versions.original.path and versions.original.storage fields. The server/permissions/attachments.js insert rule checks only board write access, and FileStoreStrategyFilesystem.getReadStream() in models/lib/fileStoreStrategy.js streams the stored path without a storage-root containment check, allowing arbitrary file reads and denial of service through special files such as /dev/zero. This issue is fixed in version 9.31.

Executive ViewAI

Why It Matters

Wekan kanban board (versions before 9.31) allows authenticated board members to read any file accessible to the server process, creating risk of sensitive data exfiltration including credentials and configurations. Organizations with shared Wekan boards involving contractors, vendors, or extended teams face elevated breach risk even from low-privileged members. Vendor patch v9.31 is available and should be deployed immediately.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche open-source self-hosted kanban, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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 No
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

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)CVE.org

cpe:2.3:a:wekan:wekan:*:*:*:*:*:*:*:*

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