Skip to main content

Wekan CVE-2025-65780

HIGH
Improper Access Control (CWE-284)
2025-12-15 cve@mitre.org
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege Wekan account
  2. Delivery
    Craft client-side user document update
  3. Exploit
    Set isAdmin/orgs/teams fields
  4. Execution
    Server accepts unauthorized write
  5. Impact
    Access 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.

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

NVD PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

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.

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

Primary rating from NVD.

CVSS VectorNVD

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

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche self-hosted open-source kanban tool, limited enterprise footprint
Data Quality
3 sources
Confidence: Low

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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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.

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

cpe:2.3:a:wekan_project: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-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

CVE-2026-55234 HIGH
8.5 Jul 15

Improper access control in Wekan (self-hosted open-source Meteor kanban) before version 9.37 lets any authenticated user

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