Impact
The vulnerability in Wekan allows an attacker to inject arbitrary shell commands through the avatar upload feature. Prior to version 9.07, the application embeds the user‑supplied filename into a command passed to child_process.exec() for MIME‑type detection via models/avatars.js and models/fileValidation.js. If the filename contains shell metacharacters such as backticks or $(), the command executes with the process’s privileges, enabling complete compromise of the server. This flaw is a classic system command injection (CWE‑78) and a generic command injection vulnerability (CWE‑88).
Affected Systems
All installations of the Wekan kanban application running a version prior to 9.07 are affected. The issue resides in the avatar handling code in models/avatars.js and models/fileValidation.js. Users deploying the open‑source version of Wekan on their own servers may be at risk until they upgrade to v9.07 or later.
Risk and Exploitability
With a CVSS score of 9.9 the severity is critical, yet the EPSS score is less than 1 %, suggesting very low exploitation probability at present. The flaw is not listed in the CISA KEV catalog. The likely attack vector is the web interface, where an attacker who can upload an avatar—typically an authenticated user or any user capable of setting an avatar—can craft a malicious filename. Successful exploitation would give the attacker arbitrary code execution on the host. Based on the description, it is inferred that the vulnerability requires the ability to upload an avatar, but it does not explicitly state authentication requirements. Both the exploit and its impact are limited to the server where Wekan is hosted.
OpenCVE Enrichment