fish 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.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alpine Linux | alpine-linux-upgrade-fish | Mar 26, 2024 | Mar 14, 2022 | |
| Debian | debian-upgrade-fish | Nov 4, 2022 | Mar 14, 2022 | |
| Freebsd | freebsd-upgrade-package-fish | Jan 23, 2023 | Jan 21, 2023 | |
| Gentoo Linux | gentoo-linux-upgrade-app-shells-fish | Oct 2, 2023 | Mar 14, 2022 | |
| Suse | — | suse-upgrade-fish3suse-upgrade-fish3-devel | Oct 26, 2022 | Mar 14, 2022 |
| Ubuntu | ubuntu-pro-upgrade-fishubuntu-pro-upgrade-fish-common | Mar 22, 2023 | Mar 14, 2022 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub