Wekan: File Upload MIME Type Validation Bypass — Stored XSS via Missing System Binary Fallback
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-434.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA wekan (wekan) Fixed in 9.90
Timeline
- 2026-10-02 Threatist record created from CVE-2026-68899
References
More wekan vulnerabilities
- TI-2026-40177 Improper authentication in wekan CVSS 3.1CRITICAL 9.8
- TI-2026-37989 Wekan: OIDC Account Takeover via Unconditional Email-Based Account Merge in onCreateUser hook CVSS 4.0CRITICAL 9.2
- TI-2026-48308 Improper privilege management in wekan CVSS 3.1HIGH 8.8
- TI-2026-48305 Wekan: SSRF filter bypass via DNS-resolving hostname in outgoing webhooks (incomplete fix of CVE-2026-53446) CVSS 3.1HIGH 8.5
- TI-2026-39911 Improper access control in wekan CVSS 3.1HIGH 8.5
- TI-2026-01855 WeKan Activity Publication activities.js LinkedBoardActivitiesBleed information disclosure CVSS 4.0MEDIUM 6.9
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences