Description
The psub function in fish (aka fish-shell) 1.16.0 before 2.1.1 does not properly create temporary files, which allows local users to execute arbitrary commands via a temporary file with a predictable name.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | fish | 2.1.1-1 | — |
| Debian 13 | fish | 2.1.1-1 | — |
| Debian 12 | fish | 2.1.1-1 | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | fish | 2.4.0-1.1 | openSUSE-SU-2024:10348-1 |
| openSUSE Leap 15.1 | fish3 | 3.0.0-lp151.2.1 | openSUSE-SU-2019:2188-1 |
| openSUSE Leap 15.0 | fish3 | 3.0.0-lp150.3.1 | openSUSE-SU-2019:2177-1 |
Advisories 3
- openSUSE-SU-2019:2177-1 Security update for fish3 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2019:2188-1 Security update for fish3 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10348-1 fish-2.4.0-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026