Wekan
CVE-2025-65780
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege Wekan account
-
DeliveryCraft client-side user document update
-
ExploitSet isAdmin/orgs/teams fields
-
ExecutionServer accepts unauthorized write
-
ImpactAccess all teams and admin functions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Wekan account (PR:L) that can issue client-side updates to the Meteor user collection; exploitation is most dangerous on instances permitting open self-registration, where any attacker can create the needed account. The specific prerequisite is the absence of server-side authorization on the Users.allow update rule in versions ≤18.15, letting the owner write sensitive fields (isAdmin, orgs, teams, roles, loginDisabled, authenticationMethod) that should be server-only. Limiting factors: a valid login is mandatory (not remote-unauthenticated), and instances that restrict registration or run 18.16+ (which whitelists only username and profile.* for client writes) are not exploitable. |
| Impact | This is a genuine high-priority issue for any organization running a self-hosted Wekan instance, though its real-world risk is bounded by two factors. The CVSS vector (AV:N/AC:L/PR:L/UI:N) confirms network-reachable, low-complexity exploitation requiring only low-level authentication - i.e. any registered user account, no admin rights and no victim interaction. The impact triad C:H/I:H/A:H is justified because the missing authorization check lets a user rewrite forbidden fields of their own user document (isAdmin, orgs, teams, roles, loginDisabled), enabling direct privilege escalation to administrator and lateral access into other teams/orgs. The source-code evidence (commit f26d582 adding USER_UPDATE_FORBIDDEN_PREFIXES and tightening the Users.allow update rule) independently confirms both the root cause and the fix, raising confidence well above a description-only assessment. However, no EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active or at-scale exploitation - this is a high-CVSS flaw whose current threat is latent rather than demonstrated. The requirement for a pre-existing authenticated account (PR:L) is the key mitigating signal: instances with closed/trusted registration face materially lower exposure than those allowing open self-registration, where any attacker-created account becomes an admin. No signals are directly conflicting; the main gap is the absence of exploitation-probability data. |
| Exploit ScenarioDerived | An attacker registers or already holds a low-privilege Wekan account, then issues a client-side update to their own user document setting isAdmin:true (or injecting themselves into additional orgs/teams), which the vulnerable server accepts because it never authorizes these sensitive fields. With administrator rights they can read and modify every board, team, and user across the instance. No public exploit was provided, but the trivial Meteor allow-rule abuse requires no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Privilege escalation in the self-hosted Wekan kanban board through version 18.15 allows any authenticated user to rewrite sensitive fields of their own Meteor user document - including isAdmin, orgs, teams, roles, loginDisabled, and authenticationMethod - because the Users.allow update rule performed no server-side field authorization. An attacker who can obtain or self-register an ordinary account on an instance with open registration can thereby elevate to administrator, disable login enforcement, or reach other teams and organizations; instances that restrict registration or that run 18.16 or later are not exploitable. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, 8.8) reflects the mandatory valid login, and no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to Wekan 18.16 or later, which restricts client-side user document updates to the username field and the profile.* prefix while blocking orgs, teams, roles, isAdmin, createdThroughApi, loginDisabled, authenticationMethod, services.*, emails.*, and sessionData.* - see the 18.16 changelog at https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v816-2025-11-02-wekan--release and the fix commit https://github.com/wekan/wekan/commit/f26d58201855e861bab1cd1fda4d62c664efdb81. If an immediate upgrade is not possible, the highest-value compensating control is to disable open self-registration and require an administrator to create accounts, since the attack demands a valid login and closed registration removes the attacker's easiest path to one; the trade-off is that onboarding becomes manual. As a second control, harden the Meteor allow rule server-side so that updates are accepted only for username and profile.* (mirroring the hasForbiddenUserUpdateField check) and rebuild the application - this is an unsupported local fork of models/users.js and must be re-applied after each upgrade. Restricting network exposure of the Wekan web port to trusted networks or behind an authenticated reverse proxy limits who can reach the vulnerable endpoint, at the cost of external accessibility, and rate-limiting or alerting on direct POSTs to the Meteor method/collection endpoints can surface exploitation attempts. Because the same missing check lets an attacker mutate loginDisabled, authenticationMethod, services.*, and sessionData.*, treat any instance that ran 18.15 or earlier with open registration as potentially compromised: audit user documents for unexpected isAdmin flags, orgs/teams memberships, and authenticationMethod changes, then revoke and reissue credentials and invalidate login tokens for all accounts.
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-based kanban application that stores users as documents in a MongoDB-backed Users collection, with client writes governed by Meteor's allow/deny rules. In versions up to 18.15 the Users.allow update rule simply returned true when doc._id matched the caller's userId (or when the caller was an admin) without inspecting the fieldNames argument, and the companion deny rule only blocked a non-admin from setting isAdmin. Because Meteor forwards client-side updates to the collection through that rule, an authenticated user could push a modifier touching any user field, not just profile data. The root cause is CWE-284 (Improper Access Control): authorization was based on ownership of the document rather than on which fields the owner is permitted to modify. The upstream fix (commit f26d5820) introduces USER_UPDATE_ALLOWED_EXACT (['username']), USER_UPDATE_ALLOWED_PREFIXES (['profile.']), and USER_UPDATE_FORBIDDEN_PREFIXES covering services, emails, roles, isAdmin, createdThroughApi, orgs, teams, loginDisabled, authenticationMethod, and sessionData, then rewrites allow to require that every submitted field be whitelisted and none be forbidden, with the deny rule rejecting any forbidden field outright. The same commit adds a client-side userAvatar helper and a cookie-mirroring startup routine for storage route auth, but the security-relevant change is the field-level authorization on the user collection.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Any authenticated user (PR:L) can remotely and reliably rewrite isAdmin/orgs/teams with no interaction, yielding full admin compromise, so C/I/A all High.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
An issue was discovered in Wekan The Open Source kanban board system up to version 18.15, fixed in 18.16. Authenticated users can update their entire user document (beyond profile fields), including orgs/teams and loginDisabled, due to missing server-side authorization checks; this enables privilege escalation and unauthorized access to other teams/orgs.
Executive ViewAI
Wekan, a self-hosted kanban platform used by internal teams to track projects, contains a privilege-escalation flaw in versions through 18.15 that lets any ordinary logged-in user grant themselves administrator rights and access other teams' and organizations' boards. This matters because a single low-privilege account - including one created through open self-registration - can expose sensitive project data and enable administrative actions such as disabling login enforcement across the entire instance. Organizations running Wekan internally should treat this as a priority remediation item, while those whose instances are closed to self-registration carry materially lower risk.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Affected Products (CPE)NVD
packages/wekan-ldap/server/ldap.js in Wekan before 4.87 can process connections even though they are not authorized by t
OS command injection in Wekan (the open-source Meteor-based kanban board) before version 9.07 lets an authenticated user
Authentication bypass in Wekan (open-source Meteor kanban) before version 9.46 lets an unauthenticated attacker imperson
A stored cross-site scripting (Stored XSS) vulnerability in file preview in WeKan before 6.75 allows remote authenticate
Wekan, open source kanban board system, between version 3.12 and 4.11, is vulnerable to multiple stored cross-site scrip
Account takeover in Wekan (open-source Meteor kanban) before 9.32 allows an attacker who controls an OIDC provider accou
Privilege escalation in Wekan open-source kanban (all versions prior to 9.89, dubbed 'SortBleed') allows any board membe
Stored XSS in Wekan prior to v9.90 allows authenticated board members to upload HTML containing JavaScript disguised as
LDAP filter injection in WeKan before 8.19 allows remote unauthenticated attackers to manipulate LDAP search filters and
Privilege escalation in WeKan (versions prior to 8.35) allows authenticated board members with low privileges to perform
Wekan's outgoing webhook URL validator in versions 8.36 through 9.73 allows authenticated board members to bypass SSRF p
Improper access control in Wekan (self-hosted open-source Meteor kanban) before version 9.37 lets any authenticated user
NVD
CVE.org
EPSS
GitHub
Exploit-DB