Description
Oh My Zsh is a community-driven framework for managing Zsh configuration. Prior to 2026-05-28, the dotenv plugin in plugins/dotenv/dotenv.plugin.zsh passes ZSH_DOTENV_FILE to source after a directory change into a folder containing a .env file, allowing syntactically valid shell commands in the file to execute with the current account's privileges, including without a prompt when ZSH_DOTENV_PROMPT=false or after the default prompt accepts an empty Enter response. This issue is fixed in versions released after 2026-05-28.
Published: 2026-08-18
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The oh-my-zsh dotenv plugin sources the content of a .env file automatically after a change of directory into a folder containing such a file. If that file contains syntactically valid shell commands, they are executed with the current user’s privileges. This permits an attacker to execute arbitrary code on the account that runs the shell, without any interactive prompt if the environment variable that enables prompting is disabled or left unset. The weakness is a form of code injection, identified by CWE‑94.

Affected Systems

Oh My Zsh installations that include the dotenv plugin and are running any release prior to 2026‑05‑28 are impacted. The vulnerability is fixed in all versions released after that date.

Risk and Exploitability

The CVSS score of 8.8 indicates a high level of severity. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. The most likely attack vector is local: an attacker who can place or modify a .env file in a directory that a user will later enter can trigger execution of malicious commands. In shared or multi‑user environments, this could also be leveraged remotely if the attacker can influence the user’s working directory or supply a malicious .env file on a network share.

Generated by OpenCVE AI on August 18, 2026 at 16:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Oh My Zsh to the latest release, which includes the fix applied after 2026‑05‑28.
  • Remove the dotenv plugin from the active plugins list or comment it out in the .zshrc configuration file if the functionality is not required.
  • Alter the environment by setting ZSH_DOTENV_PROMPT=true to force confirmation before sourcing a .env file, or ensure that .env files are stored in read‑only directories and only writable by trusted users.

Generated by OpenCVE AI on August 18, 2026 at 16:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Ohmyz
Ohmyz ohmyzsh
Vendors & Products Ohmyz
Ohmyz ohmyzsh

Tue, 18 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
Description Oh My Zsh is a community-driven framework for managing Zsh configuration. Prior to 2026-05-28, the dotenv plugin in plugins/dotenv/dotenv.plugin.zsh passes ZSH_DOTENV_FILE to source after a directory change into a folder containing a .env file, allowing syntactically valid shell commands in the file to execute with the current account's privileges, including without a prompt when ZSH_DOTENV_PROMPT=false or after the default prompt accepts an empty Enter response. This issue is fixed in versions released after 2026-05-28.
Title Oh My Zsh: Arbitrary Code Execution in oh-my-zsh dotenv plugin via malicious .env files
Weaknesses CWE-94
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-18T17:46:49.745Z

Reserved: 2026-06-03T22:05:13.645Z

Link: CVE-2026-50187

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T15:16:54.870

Modified: 2026-08-18T18:17:53.680

Link: CVE-2026-50187

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:18:40Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')