Description
Wekan is open source kanban built with Meteor. Prior to 9.75, models/fileValidation.js interpolated the uploaded fileObj.path into the administrator-configured externalCommandLine at its {file} placeholder and executed the result through asyncExec, which is promisify(exec) and invokes `/bin/sh -c`. On deployments with an external scanner configured, an authenticated user able to upload an attachment could place shell metacharacters such as command substitutions in the filename and execute commands as the Wekan server process. Version 9.75 adds shellQuote() and passes the file path as a POSIX single-quoted argument so shell metacharacters cannot escape the placeholder. This issue is fixed in version 9.75.
Published: 2026-08-19
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a command injection flaw caused by assembling the external antivirus scanner command line with a user‑controlled file path that is not properly quoted. Since asyncExec ultimately runs /bin/sh -c, a malicious filename that contains shell metacharacters can modify the command line and allow an authenticated attacker with upload privileges to execute arbitrary commands as the Wekan process. This flaw compromises confidentiality, integrity, and availability of the affected host and is classified as CWE-78.

Affected Systems

Wekan is an open‑source kanban board built on the Meteor framework, maintained by the wekan organization. Versions older than 9.75 are affected. Deployments that have the administrator‑configured externalCommandLine for a virus scanner enabled are at risk because the command line uses the unescaped {file} placeholder, allowing the attacker‑controlled filename to be injected.

Risk and Exploitability

The CVSS base score of 7.7 indicates high severity. EPSS data is not available, and the vulnerability is not listed in CISA KEV, suggesting no widespread exploitation yet. The likely attack vector is an authenticated user who can upload a file and craft its name to include shell metacharacters; this enables execution of arbitrary code under the Wekan service account. Disabling or removing the externalCommandLine configuration eliminates the immediate attack surface.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Wekan to version 9.75 or later to apply the shellQuote fix.
  • If an upgrade cannot be performed immediately, disable the external antivirus scanner feature by clearing or removing the externalCommandLine configuration so asyncExec is never invoked with user‑controlled paths.
  • If the external antivirus scanner must remain enabled, replace it with a solution that does not execute commands via the shell (e.g., a containerized or API‑based scanner) and ensure any file paths are properly sanitized before being used in a shell command.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Metrics ssvc

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


Wed, 19 Aug 2026 22:00: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.75, models/fileValidation.js interpolated the uploaded fileObj.path into the administrator-configured externalCommandLine at its {file} placeholder and executed the result through asyncExec, which is promisify(exec) and invokes `/bin/sh -c`. On deployments with an external scanner configured, an authenticated user able to upload an attachment could place shell metacharacters such as command substitutions in the filename and execute commands as the Wekan server process. Version 9.75 adds shellQuote() and passes the file path as a POSIX single-quoted argument so shell metacharacters cannot escape the placeholder. This issue is fixed in version 9.75.
Title Wekan:hell Injection in External Antivirus Scanner Path via asyncExec
Weaknesses CWE-78
References
Metrics cvssV4_0

{'score': 7.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T19:46:13.849Z

Reserved: 2026-07-30T19:56:44.102Z

Link: CVE-2026-68560

cve-icon Vulnrichment

Updated: 2026-08-21T19:46:09.276Z

cve-icon NVD

Status : Received

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

Modified: 2026-08-21T20:16:40.217

Link: CVE-2026-68560

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T13:00:13Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')