This release includes 2 security fixes for security teams reviewing exposed deployments.
Topics
+2 more
Affected surfaces
ReleasePort's take
Moderate signalThe SortBleed vulnerability enabling privilege escalation to board admin has been fixed in version v9.89.
Why it matters: Patch immediately; the flaw allowed low‑privilege users to gain admin rights on boards.
Summary
AI summaryFixes critical SortBleed security vulnerability that allowed low‑privilege board members to escalate to admin.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Critical |
Fixes SortBleed vulnerability allowing privilege escalation to board admin. Fixes SortBleed vulnerability allowing privilege escalation to board admin. Source: llm_adapter@2026-07-14 Confidence: high |
— |
| Feature | Low |
Updates Sandstorm WeKan information across three commits. Updates Sandstorm WeKan information across three commits. Source: granite4.1:30b@2026-07-14-audit Confidence: low |
— |
Full changelog
v9.89 2026-07-13 WeKan ® release
This release fixes the following CRITICAL SECURITY ISSUE of
SortBleed:
- SortBleed:
a low-privilege (comment-only / read-only) board member could escalate to board admin and take
over a private board via the boardsortcollection-allow rule
(GHSA-xm8x-c8wg-jhmf,
CWE-863 Incorrect Authorization, CWE-269 Improper Privilege Management). Same broken-access-control
class as BoardBleed (CVE-2026-55234) — a Meteor
collection allow-rule field conflation — but on the Board document itself. To support drag-to-reorder
on the All Boards / Public Boards pages, a secondBoards.allow({ update })rule returnedtruefor
any board member whenever the update touched thesortfield. Meteor evaluates allow rules with OR
semantics and does not scope an approving rule to the field that satisfied it: once any allow
callback returnstrueand no deny callback returnstrue, the entire modifier is applied.
BecausecanUpdateBoardSortonly checked thatsortwas among the modified fields (not that it
was the only one), a comment-only / read-only member could smuggle arbitrary board mutations into
the same$setassortin a single unprivileged DDPBoards.updatecall:
{$set: {sort: 99, members: [...only themselves as admin...], permission: 'public', title: '...'}}.
The member could therefore make themselves board admin, flip a private board to public (world-readable
in Wekan), rename it, and evict the legitimate owner. The last-admin deny rule did not help because it
only inspected$pull, so a wholesale$setof themembersarray bypassed it entirely.- Fixed by restricting
canUpdateBoardSort(server/lib/utils.js) so the sort-reorder rule
approves an update only whensortis the sole modified field (fieldNamesis exactly
['sort']) — it can no longer approve a modifier that also mutatesmembers,permission,title
or anything else. As defense in depth, the last-admin deny rule (server/permissions/boards.js) now
also rejects a$setrewrite of themembersarray that would drop the last active admin, not just
a$pull. A regression test covers the multi-field smuggling case
(server/lib/tests/boards.security.tests.js). The legitimate All Boards drag-reorder is unaffected:
it persists the order per-user inprofile.boardSortIndex(Users.setBoardSortIndex), not in the
board document. CVSS:3.1 8.8 High (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). - Affected Wekan v9.85 and earlier through the current release; fixed at the upcoming WeKan release.
Reported by 5ud0 / Tarmo Technologies.
Thanks to 5ud0 / Tarmo Technologies and xet7.
- Fixed by restricting
and adds the following updates:
Thanks to above GitHub users for their contributions and translators for their translations.
Security Fixes
- GHSA-xm8x-c8wg-jhmf — SortBleed: low‑privilege board member could escalate to admin via malformed `sort` update (CVSS:3.1 8.8 High)
- CVE-2026-55234
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About wekan
The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . New English strings for new features at imports/i18n/data/en.i18n.json . Non-English translations at https://app.transifex.com/wekan/wekan only.
Related context
Related tools
Beta — feedback welcome: [email protected]