CVE-2022-20001

NameCVE-2022-20001
Descriptionfish is a command line shell. fish version 3.1.0 through version 3.3.1 is vulnerable to arbitrary code execution. git repositories can contain per-repository configuration that change the behavior of git, including running arbitrary commands. When using the default configuration of fish, changing to a directory automatically runs `git` commands in order to display information about the current repository in the prompt. If an attacker can convince a user to change their current directory into one controlled by the attacker, such as on a shared file system or extracted archive, fish will run arbitrary commands under the attacker's control. This problem has been fixed in fish 3.4.0. Note that running git in these directories, including using the git tab completion, remains a potential trigger for this issue. As a workaround, remove the `fish_git_prompt` function from the prompt.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDSA-5234-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
fish (PTS)bullseye (security), bullseye3.1.2-3+deb11u1fixed
bookworm3.6.0-3.1+deb12u1fixed
sid, trixie3.7.1-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
fishsourcestretch(not affected)
fishsourcebuster(not affected)
fishsourcebullseye3.1.2-3+deb11u1DSA-5234-1
fishsource(unstable)3.4.0+ds-1

Notes

[buster] - fish <not-affected> (Vulnerable code introduced later)
[stretch] - fish <not-affected> (Vulnerable code introduced later)
https://github.com/fish-shell/fish-shell/security/advisories/GHSA-pj5f-6vxj-f5mq
https://github.com/fish-shell/fish-shell/pull/8589
https://github.com/fish-shell/fish-shell/commit/37625053d424c1ab88de2b0c50c7fe71e1468e2c (3.4.0)

Search for package or bug name: Reporting problems