OS Command InjectionWeakness · CWE-78

CVE-2026-52891

CRITICAL · 9.9 CVSS v3.1 Published 2026-07-15
Patch available
A vendor patch is available. No clean upgrade release — apply the published patch.
See remediation →
100/100
Remediation priority · Urgent
Remotely reachable Zero-click Patch available 5 weeks old

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Wekan is open source kanban built with Meteor. Prior to 9.07, Wekan avatar upload functionality embeds user-supplied filenames into paths later passed to child_process.exec() for MIME-type detection. Because models/avatars.js and models/fileValidation.js used a shell command with the avatar filename, shell metacharacters such as backticks and $() in the filename could execute commands on the server. This issue is fixed in version 9.07.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

Wekan prior to version 9.07 contains a command injection vulnerability in the avatar upload feature. The application embeds user-supplied filenames into paths used with child_process.exec() for MIME-type detection. Because models/avatars.js and models/fileValidation.js construct shell commands using the raw avatar filename, attackers can inject shell metacharacters (backticks, $()) to execute arbitrary commands on the server.

MitigationUpgrade Wekan to version 9.07 or later. If immediate patching is not possible, disable avatar upload functionality until the upgrade can be applied.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify Wekan installation method and version
    Check the Wekan version by querying the API at /api/version, inspecting the Docker image tag, or reviewing package.json if installed from source. Compare the version number to 9.07.
    Affected if The installed version is lower than 9.07 (e.g., 9.06, 9.05, etc.)
  2. Verify if avatar upload feature is accessible
    Check if the avatar upload endpoint exists by attempting a GET request to /avatars/upload or reviewing the Wekan web UI for avatar upload functionality. Inspect Wekan settings JSON or environment variables for avatar-related configuration flags.
    Affected if Avatar upload feature is enabled and accessible to users (even low-privileged ones)
  3. Review server logs for suspicious activity
    Examine Wekan server logs (typically in /var/log/wekan or Docker container stdout) for entries containing shell metacharacters like backticks (`), dollar-parentheses $(), or pipe symbols in avatar filename fields. Also check for unexpected child process spawn events.
    Affected if Logs contain filenames with shell metacharacters or unexpected command executions coinciding with avatar uploads
  4. Check for unexpected processes or files on the server
    Inspect running processes for unfamiliar commands, especially ones spawned from Node.js/Wekan parent processes. Look for new executable files in /tmp, /var/tmp, or Wekan's upload directories that were not explicitly uploaded by legitimate users.
    Affected if Unexpected processes are running or suspicious files appear in upload directories with timestamps matching potential exploitation periods

You are affected if Wekan version is below 9.07 AND the avatar upload feature is enabled and accessible to users in your environment.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Patch available Apply the vendor patch
Vendor patch github.com →
Interim mitigation

Upgrade Wekan to version 9.07 or later. If immediate patching is not possible, disable avatar upload functionality until the upgrade can be applied.

Recommended fix High confidence

Wekan 9.07

  1. Backup your Wekan installation and database before upgrading
  2. Upgrade Wekan to version 9.07 or later
  3. After upgrade, verify the avatar upload functionality works correctly
  4. Ensure the server is running the updated version by checking the Wekan UI or logs

Generated from the published advisory — verify against the referenced sources before acting.

Have this fixed Scoped from the published advisory
  • Consultation2.0 h
  • Implementation3.0 h
  • Testing3.0 h
  • Review / QA2.0 h
10.0 hours of engineering $1,750
Get the patch applied

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,800.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-52891 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-52891 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data