In zsh before 5.8.1, an attacker can achieve code execution if they control a command output inside the prompt, as demonstrated by a %F argument. This occurs because of recursive PROMPT_SUBST expansion.
Vendor
zsh vulnerabilities
13 published CVES affecting zsh, from public sources (CVE.org, NVD, CISA KEV, FIRST EPSS, OSV).
- Total
- 13
- Critical
- 6
- High
- 5
- Medium
- 2
- Low
- 0
- Unscored
- 0
- CISA KEV
- 0
Products
Latest zsh CVEs
Newest publication first
-
HighCVSS 7.8 EPSS 2.0%
-
HighCVSS 7.8 EPSS 0.48%
In Zsh before 5.8, attackers able to execute commands can regain privileges dropped by the --no-PRIVILEGED option. Zsh fails to overwrite the saved uid, so the original privileges can be restored by executing MODULE_PATH=/dir/with/module zmodload with a module that calls setuid()...
-
CriticalCVSS 9.8 EPSS 2.7%
An issue was discovered in zsh before 5.6. Shebang lines exceeding 64 characters were truncated, potentially leading to an execve call to a program name that is a substring of the intended one.
-
CriticalCVSS 9.8 EPSS 2.5%
An issue was discovered in zsh before 5.6. The beginning of a #! script file was mishandled, potentially leading to an execve call to a program named on the second line.
-
HighCVSS 7.8 EPSS 0.53%
zsh through version 5.4.2 is vulnerable to a stack-based buffer overflow in the utils.c:checkmailpath function. A local attacker could exploit this to execute arbitrary code in the context of another user.
-
HighCVSS 7.8 EPSS 0.59%
Zsh before version 5.4.2-test-1 is vulnerable to a buffer overflow in the shell autocomplete functionality. A local unprivileged user can create a specially crafted directory path which leads to code execution in the context of the user who tries to use autocomplete to traverse t...
-
MediumCVSS 5.5 EPSS 0.43%
zsh through version 5.4.2 is vulnerable to a stack-based buffer overflow in the exec.c:hashcmd() function. A local attacker could exploit this to cause a denial of service.
-
HighCVSS 7.5 EPSS 2.6%
In params.c in zsh through 5.4.2, there is a crash during a copy of an empty hash table, as demonstrated by typeset -p.
-
CriticalCVSS 9.8 EPSS 2.5%
In subst.c in zsh through 5.4.2, there is a NULL pointer dereference when using ${(PA)...} on an empty array result.
-
CriticalCVSS 9.8 EPSS 3.1%
In utils.c in zsh before 5.4, symlink expansion had a buffer overflow.
-
CriticalCVSS 9.8 EPSS 2.1%
In zsh before 5.3, an off-by-one error resulted in undersized buffers that were intended to support PATH_MAX characters.
-
CriticalCVSS 9.8 EPSS 2.7%
In exec.c in zsh before 5.0.7, there is a buffer overflow for very long fds in the ">& fd" syntax.
-
MediumCVSS 4.6 EPSS 0.33%
Util/difflog.pl in zsh 4.3.4 allows local users to overwrite arbitrary files via a symlink attack on temporary files.
Sources: CVE.org, NVD, CISA KEV, FIRST EPSS, OSV and public exploit-reference metadata. Product matching comes from the published CVE records. A proof-of-concept means public code exists; it is not evidence of exploitation.