Arbitrary file upload in Wekan

CVE-2026-68899

Wekan is open source kanban built with Meteor. Prior to 9.90, isFileValid() in models/fileValidation.js used the Unix file command for content-based MIME detection, but detectMimeFromFile() silently returned undefined when that binary was unavailable and the validation fell back to the attacker-controlled fileObj.type supplied through server/routes/attachmentApi.js. On deployments with WITH_API=true and no file binary, an authenticated board member could label HTML containing JavaScript as image/png, bypass the dangerous MIME check, and store active content under the Wekan origin for execution when another user opened it. Version 9.90 adds looksLikeDangerousMarkup() to inspect file bytes and force dangerous-content scanning when MIME detection is unavailable. This issue is fixed in version 9.90.

Vulnerability class: Unrestricted File Upload

Published · last modified .

CVSS v3 metric

CVSS v3 base score 8.7 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N.

EPSS exploit prediction

EPSS: 0.005 (42.6th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 43rd percentile — 42.6% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-68899: held from 0.004 to 0.005.

EPSS over last 30 days · oldest: 0.004 · newest: 0.005 · change: +0.001

Affected products

  • Wekan — versions < 9.90

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-68899?
CVE-2026-68899 is a high-severity vulnerability in Wekan, classified under Unrestricted Upload of File with Dangerous Type. CVSS score: 8.7/10. Published 2026-08-19.
How severe is CVE-2026-68899?
High severity. CVSS v3 base score is 8.7 out of 10.