Skip to main content

Wekan CVE-2026-119300

| EUVDEUVD-2026-114193 MEDIUM
Inefficient Regular Expression Complexity (ReDoS) (CWE-1333)
2026-10-30 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 as any Wekan user over DDP
  2. Delivery
    Submit crafted catastrophic-backtracking regex to user-search
  3. Exploit
    PCRE2 evaluates pattern during MongoDB collection scan
  4. Execution
    Issue burst of concurrent search requests
  5. Impact
    Saturate mongod CPU and deny service to all users

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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 DDP session as any logged-in user for Sink 1 (the 'user-search' publication); Sink 2 (the 'searchUsers' method) additionally requires active board membership or site-admin status, and queries under 2 characters are rejected. Exploitation further requires a MongoDB backend whose PCRE2 engine permits catastrophic backtracking - the default on amd64/arm64 Docker and all bare-metal installs. Deployments using the bundled FerretDB v1 / RE2 (Go linear-time regex) backend, default only on ppc64le/s390x/riscv64, are not practically affected. Meaningful denial of service requires issuing several concurrent crafted requests (a single query only costs ~400-700 ms); pre-11.11 there is no DDP rate limiting on either endpoint. Only balanced catastrophic patterns work - unbalanced patterns throw a SyntaxError in Node before reaching the database.

Impact

This is a genuine but moderate-priority availability issue rather than a critical emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, 6.5) is internally consistent with the evidence: network-reachable DDP endpoints, low complexity, and low-privilege authentication (any logged-in user) with availability-only impact. The vuln.today decision label is 'this_month' - not 'act_now' or 'emergency' - which aligns with a self-hosted DoS bug that requires an authenticated account and only degrades availability. No EPSS score was provided in the input, so exploitation-probability modeling cannot be incorporated - this is a data gap, not a low score. The CVE is NOT listed in CISA KEV and there is no claim of active exploitation; however, the vendor's GHSA advisory embeds a complete, measured proof-of-concept (poc-redos.mjs) with reproducible timings (~400-700 ms mongod CPU per crafted query, ~15 s DB saturation from 30 parallel requests), so working exploit code is effectively public. A key scoping caveat: impact is backend-dependent - only MongoDB/PCRE2 deployments (the default on amd64/arm64 and all bare-metal installs) are exploitable, while FerretDB v1/RE2 deployments are not practically affected. The A:H rating is justified only under concurrency; a single request alone does not deny service. Net: a real, easily reproduced internal DoS that warrants prompt patching, but gated by authentication and backend choice rather than a widely-weaponized remote-unauthenticated threat.

Exploit ScenarioDerived

A logged-in Wekan user on a MongoDB-backed instance opens a raw DDP WebSocket and subscribes to the 'user-search' publication with a balanced catastrophic-backtracking pattern such as '(a+)'.repeat(10)+'$'. Because the search term is passed to new RegExp() without escaping, MongoDB's PCRE2 engine evaluates the pattern against every candidate user, burning hundreds of milliseconds of database CPU per request; firing a few dozen concurrent requests saturates mongod for many seconds and denies service to all other users. A complete, measured public PoC for this exact path is published in the vendor's GHSA advisory.

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 – Oct 30, 2026

Wekan deployments before 11.11 construct case-insensitive regular expressions from user-controlled search input without escaping metacharacters, so any logged-in user can submit a balanced catastrophic-backtracking pattern that makes MongoDB's PCRE2 engine spend roughly 400-700 ms of CPU per query; several concurrent requests hold mongod busy for seconds to minutes and degrade or deny service to everyone else on the instance. Availability is the only impacted property (CVSS 3.1 6.5, AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) - authenticated low-privilege access is required, with the user-search publication needing only a DDP session while the searchUsers method also requires board membership or site-admin status, and exploitation is further conditional on an external MongoDB backend (FerretDB v1/RE2 deployments are not practically affected). A detailed proof-of-concept with measured timings and a reproduction script accompanies the upstream GitHub advisory; no CISA KEV listing or confirmed active exploitation is reported, and the upstream priority for this issue is 'this_month'.

RemediationAI

Upgrade Wekan to 11.11 or later - the vendor-released fix version - which escapes user input via escape-string-regexp at both sinks: the 'user-search' publication in server/publications/users.js and the searchUsers method in server/models/users.js, exactly as cards.js already did. The fixing change is visible in commit https://github.com/wekan/wekan/commit/4ce5cf6e102854d326e1dcacde6cd20614525dec, which imports escapeForRegex into server/models/users.js, wraps the query before new RegExp(), and additionally registers a DDPRateLimiter rule limiting searchUsers to 20 calls per 10 seconds; the advisory is at https://github.com/wekan/wekan/security/advisories/GHSA-9846-cj96-6hv5 and the release at https://github.com/wekan/wekan/releases/tag/v11.11. Wekan auto-updates by default, but instances that pinned the version or set the auto-update flag off must be upgraded manually. For deployments that cannot upgrade immediately, the only configuration-level mitigation supported by the available evidence is backend choice: running against the bundled FerretDB v1 / RE2 SQLite backend removes practical exposure because RE2 is linear-time, at the cost of FerretDB feature/query parity differences and the fact that it is the default only on ppc64le/s390x/riscv64 rather than on amd64/arm64. Applying the same escape-string-regexp call at both sites and adding a DDP rate-limit rule on user-search and searchUsers are the vendor's own backport-style mitigations for installations that must patch locally; note that rate limiting alone throttles the attack but each accepted query still costs hundreds of milliseconds of database CPU.

Affected VersionsENISA

Wekan < 11.11

Affected Packages

euvd wekan fix: 11.11

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 application, so client-to-server traffic runs over DDP and server code exposes publications and Meteor methods that accept string arguments. Two such sinks - the 'user-search' publication in server/publications/users.js (around line 65) and the 'searchUsers' method in server/models/users.js (around line 2690) - call new RegExp(searchTerm, 'i') / new RegExp(query, 'i') directly on the raw input, and the resulting JavaScript RegExp is handed to the MongoDB selector as a $regex value for matching against username, profile.fullname and emails.address. That is CWE-1333 (Inefficient Regular Expression Complexity): the pattern's own quantifier structure, not any escaping flaw in the database, drives exponential backtracking, and MongoDB's PCRE2 engine applies per-match step limits that bound each individual evaluation but do not prevent the aggregate CPU burn when many documents are scanned or many requests are concurrent. The codebase already imported and applied escape-string-regexp in server/publications/cards.js, so the two user-related call sites were simply missed during earlier hardening. Backend choice is decisive: the external MongoDB configuration (WEKAN_DB=mongodb, the default on amd64/arm64 Docker images and bare-metal installs) uses PCRE2 and is exploitable, whereas the bundled FerretDB v1 SQLite backend used on architectures without MongoDB binaries (ppc64le, s390x, riscv64) relies on Go's linear-time RE2 engine and cannot exhibit catastrophic backtracking. Only balanced expressions reach the engine - unbalanced patterns throw a SyntaxError inside Node before any database work happens - and neither endpoint had a DDPRateLimiter rule before the fix (the only such rule covered createUser).

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:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Any authenticated low-privilege user can reach the network DDP endpoint with no user interaction (PR:L, UI:N, AV:N, AC:L); impact is availability-only via DB CPU exhaustion (C:N/I:N/A:H).

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

Lifecycle Timeline

1
Patch available
Oct 30, 2026 - 18:03 EUVD

DescriptionCVE.org

Wekan is open source kanban built with Meteor. Prior to 11.11, the user-search publication in server/publications/users.js and the searchUsers method in server/models/users.js pass authenticated user-controlled searchTerm and query values to new RegExp() without escaping regular-expression metacharacters. MongoDB-backed deployments evaluate the resulting patterns with PCRE2, allowing a logged-in user to submit catastrophic-backtracking expressions that consume database CPU and degrade or deny service to other users; searchUsers additionally requires board membership or site-admin status. The FerretDB v1 / RE2 unaffected configuration is not practically affected by catastrophic backtracking. This issue is fixed in version 11.11.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche self-hosted open-source kanban, limited enterprise deployment 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 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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

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

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

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