This release includes 3 security fixes for security teams reviewing exposed deployments.
Topics
+2 more
Affected surfaces
Summary
AI summaryUpdates High, https://github.com/wekan/wekan/commit/23bcb83c8, and https://github.com/wekan/wekan/security/dependabot/119 across a mixed release.
Full changelog
v10.37 2026-07-25 WeKan ® release
This release fixes the following SECURITY ISSUES found by GitHub CodeQL code
scanning:
js/incomplete-sanitization(High), alert #428, in
tests/boardHeaderOneLine.test.cjs: the CSS rule bodies were split with
rule.split('{')and the trailing brace removed withbody.replace('}', ''),
which strips only the FIRST}. The block is now matched with one regex that
captures selector and body as separate groups, so no brace ends up in the text
and there is nothing to strip.js/incomplete-sanitization(High), alert #427, in
tests/testsAreRegistered.test.cjs: a file name was spliced into aRegExp
after escaping only dots, leaving every other metacharacter — the backslash
above all — able to change the meaning of the pattern. It now goes through an
escapeRegExp()that escapes the full set, backslash included.- Both are test helpers, so neither was reachable by an attacker, but both were
genuinely wrong string handling
(commit). - Thanks to GitHub CodeQL (alerts #427 and #428) and xet7.
and resolves the following GitHub Dependabot alerts in npm dependencies:
- brace-expansion 5.0.7 → 5.0.8 (RUNTIME dependency, transitive via
minimatch):
fixes CVE-2026-14257
(GHSA-mh99-v99m-4gvg, High, CVSS 7.5, alert #119) —expand()bounds how MANY
results it produces (max, 100000) but not how LONG they get, so chained brace
groups keep the count under the cap while every result grows one character per
group. A ~7.5 KB input ('{a,b}'.repeat(1500)) exhausts memory and kills the Node
process with a fatal, uncatchable out-of-memory error thattry/catchcannot
contain. 5.0.8 bounds the total characters oneexpand()call may accumulate
(maxLength, default 4000000) inside the output-building loops, so intermediate
arrays are bounded too and oversized input is truncated rather than fatal. Patch
release in the same major line; the only other change isengines.node, which drops
Node 18 — WeKan builds and ships on Node 24 (DockerfileNODE_VERSION=v24.18.0, CI
NODE_VERSION: '24'), so nothing is affected
(#6523, merge commit). - postcss 8.5.15 → 8.5.22 (dev dependency; enters only through
css-loader, which
the rspack build uses for.css, and is not itself part of the shipped bundle):
fixes GHSA-r28c-9q8g-f849
(High, CVSS 7.5) — postcss follows a/*# sourceMappingURL=... */comment in the CSS
it parses and builds the path withpath.join(dirname(from), annotation), which
normalises but does not sandbox.., so a crafted comment discloses arbitrary.map
files. Affected<= 8.5.17, patched in 8.5.18.nanoid 3.3.12 → 3.3.16rides along
as postcss's own dependency
(#6522, merge commit). - Both are lock-only changes whose tarball integrity hashes were verified against the
npm registry, and the brace-expansion lock edit was reproduced independently with
npm update brace-expansion --package-lock-only, which produced a byte-identical
diff.elliptic(alert #55, CVE-2025-14505) is still left pinned for the reason
recorded in v10.14: no fixed version is published upstream — the latest release is
still 6.6.1 and the advisory lists no patched version. It is a dev-only transitive
polyfill (@meteorjs/rspack→node-stdlib-browser→crypto-browserify→
browserify-sign/create-ecdh), no WeKan client module imports nodecrypto, and
the built client bundle contains noelliptic/secp256k1/crypto-browserifycode
at all, so it never reaches users. - Thanks to GitHub Dependabot and xet7.
and has the following developer-tooling fix:
Thanks to above GitHub users for their contributions and translators for their
translations.
Security Fixes
- CVE-2026-14257 (GHSA-mh99-v99m-4gvg, High, CVSS 7.5) – brace-expansion 5.0.8 bounds total output length to prevent OOM crashes.
- `js/incomplete-sanitization` alert #427 & #428 – fixed improper regex escaping and unsafe CSS rule splitting in test helpers.
- CVE-2025-14505
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.
Beta — feedback welcome: [email protected]