Description
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.
Published: 2026-08-19
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An authenticated board member on a Wekan instance can upload a file that contains JavaScript but label it as image/png. The server normally validates the MIME type using the Unix file command, but when that binary is missing the validation falls back to the user‑supplied type. This allows malicious HTML content to be stored and executed when other users view the attachment, resulting in a stored cross‑site scripting vulnerability. The weakness originates from improper validation of the file’s MIME type (CWE‑434).

Affected Systems

The flaw affects all installations of Wekan built with Meteor that use versions earlier than 9.90 and have the WITH_API option enabled while lacking the Unix file binary. The problem is resolved in release 9.90 and later, where the server performs byte‑level scanning when MIME detection cannot be performed.

Risk and Exploitability

The vulnerability has a CVSS score of 8.7, indicating high severity. EPSS is not available, so the current exploit probability is uncertain, but the flaw is technically straightforward to exploit for any authenticated board member. The vulnerability is not listed in the CISA KEV catalog. In environments that have disabled the file binary and left the API enabled, the risk is elevated due to the absence of a fallback validation check.

Generated by OpenCVE AI on August 20, 2026 at 12:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Wekan to version 9.90 or later so that MIME detection falls back to byte‑level content inspection.
  • If upgrading is not immediately possible, install the missing Unix file command on the server to restore proper MIME type detection.
  • If installing the binary is not feasible, disable the file upload API or restrict board member permissions so that only trusted users can upload files.

Generated by OpenCVE AI on August 20, 2026 at 12:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 22:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 20 Aug 2026 01:45:00 +0000

Type Values Removed Values Added
First Time appeared Wekan
Wekan wekan
Vendors & Products Wekan
Wekan wekan

Wed, 19 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Wekan: File Upload MIME Type Validation Bypass — Stored XSS via Missing System Binary Fallback
Weaknesses CWE-434
References
Metrics cvssV3_1

{'score': 8.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T21:49:01.859Z

Reserved: 2026-07-31T21:04:04.039Z

Link: CVE-2026-68899

cve-icon Vulnrichment

Updated: 2026-08-21T21:00:37.386Z

cve-icon NVD

Status : Received

Published: 2026-08-19T20:17:21.567

Modified: 2026-08-21T22:16:43.367

Link: CVE-2026-68899

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T12:30:05Z

Weaknesses
  • CWE-434

    Unrestricted Upload of File with Dangerous Type