{"id":"CVE-2021-45444","details":"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.","modified":"2026-04-02T07:36:20.938951Z","published":"2022-02-14T12:15:15.750Z","related":["ALSA-2022:2120","MGASA-2022-0073","SUSE-SU-2022:0732-1","SUSE-SU-2022:0733-1","SUSE-SU-2022:0735-1","openSUSE-SU-2022:0735-1","openSUSE-SU-2024:11959-1"],"references":[{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2P3LPMGENEHKDWFO4MWMZSZL6G7Y4CV7/"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/BWF3EXNBX5SVFDBL4ZFOD4GJBWFUKWN4/"},{"type":"ADVISORY","url":"https://lists.debian.org/debian-lts-announce/2022/02/msg00020.html"},{"type":"ADVISORY","url":"https://support.apple.com/kb/HT213255"},{"type":"ADVISORY","url":"https://support.apple.com/kb/HT213256"},{"type":"ADVISORY","url":"https://support.apple.com/kb/HT213257"},{"type":"ADVISORY","url":"https://zsh.sourceforge.io/releases.html"},{"type":"ADVISORY","url":"http://seclists.org/fulldisclosure/2022/May/35"},{"type":"ADVISORY","url":"https://vuln.ryotak.me/advisories/63"},{"type":"ADVISORY","url":"https://www.debian.org/security/2022/dsa-5078"},{"type":"ADVISORY","url":"http://seclists.org/fulldisclosure/2022/May/33"},{"type":"ADVISORY","url":"http://seclists.org/fulldisclosure/2022/May/38"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/zsh-users/zsh","events":[{"introduced":"0"},{"fixed":"1a490c7050cfacd5daf8376d5a1f0e8cb14ccda5"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"5.8.1"}]}}],"versions":["5.1.1-test-2","5.3.1-test-2","5.4","5.4.1","dot-zsh-199904280524","dot-zsh-199905041932","dot-zsh-199905171944","dot-zsh-199906060520","dot-zsh-199907031715","dot-zsh-199907241534","dot-zsh-199908011751","dot-zsh-3.1.5-pws-14-199904280524","dot-zsh-3.1.5-pws-15-last-snapshot-","dot-zsh-3.1.5-pws-17-199905271502","dot-zsh-3.1.5-pws-19-199905271502","dot-zsh-3.1.5-pws-19-199907031636","dot-zsh-last-snapshot-","post-opt-arg","pre-func-move","pre-opt-arg","zsg-4.1.1-test-2","zsh-3.1.5","zsh-3.1.5-pws-1","zsh-3.1.5-pws-10","zsh-3.1.5-pws-11","zsh-3.1.5-pws-12","zsh-3.1.5-pws-13","zsh-3.1.5-pws-14","zsh-3.1.5-pws-16-w6109","zsh-3.1.5-pws-16-w6117","zsh-3.1.5-pws-16-w6119","zsh-3.1.5-pws-16-w6133","zsh-3.1.5-pws-2","zsh-3.1.5-pws-21","zsh-3.1.5-pws-22","zsh-3.1.5-pws-23","zsh-3.1.5-pws-24","zsh-3.1.5-pws-3","zsh-3.1.5-pws-4","zsh-3.1.5-pws-5","zsh-3.1.5-pws-6","zsh-3.1.5-pws-7","zsh-3.1.5-pws-8","zsh-3.1.5-pws-9","zsh-3.1.6","zsh-3.1.6-bart-7","zsh-3.1.6-bart-7-2","zsh-3.1.6-bart-8","zsh-3.1.6-dev-14","zsh-3.1.6-dev-15","zsh-3.1.6-dev-16","zsh-3.1.6-dev-17","zsh-3.1.6-dev-18","zsh-3.1.6-dev-19","zsh-3.1.6-dev-20","zsh-3.1.6-dev-21","zsh-3.1.6-dev-22","zsh-3.1.6-pws-1","zsh-3.1.6-pws-10","zsh-3.1.6-pws-11","zsh-3.1.6-pws-12","zsh-3.1.6-pws-13","zsh-3.1.6-pws-2","zsh-3.1.6-pws-3","zsh-3.1.6-pws-4","zsh-3.1.6-pws-5","zsh-3.1.6-pws-9","zsh-3.1.6-test-1","zsh-3.1.6-test-2","zsh-3.1.7","zsh-3.1.7-pre-2","zsh-3.1.7-pre-3","zsh-3.1.7-pre-4","zsh-3.1.7-prep-1","zsh-3.1.8","zsh-3.1.9","zsh-3.1.9-dev-1","zsh-3.1.9-dev-2","zsh-3.1.9-dev-3","zsh-3.1.9-dev-4","zsh-3.1.9-dev-5","zsh-3.1.9-dev-6","zsh-3.1.9-dev-7","zsh-3.1.9-dev-8","zsh-4.0.1","zsh-4.0.1-pre-1","zsh-4.0.1-pre-3","zsh-4.0.1-pre-4","zsh-4.0.1-pre-5","zsh-4.0.2","zsh-4.0.2-pre-2","zsh-4.0.3","zsh-4.0.4","zsh-4.0.5","zsh-4.0.6","zsh-4.0.7","zsh-4.0.8","zsh-4.0.9","zsh-4.1.0-dev-1","zsh-4.1.0-dev-2","zsh-4.1.0-dev-3","zsh-4.1.0-dev-4","zsh-4.1.0-dev-5","zsh-4.1.0-dev-7","zsh-4.1.1","zsh-4.1.1-test-1","zsh-4.1.1-test-3","zsh-4.2.0","zsh-4.2.0-pre-1","zsh-4.2.0-pre-2","zsh-4.2.0-pre-3","zsh-4.2.0-pre-4","zsh-4.2.1","zsh-4.2.1-test-A","zsh-4.2.2","zsh-4.2.3","zsh-4.2.4","zsh-4.2.5","zsh-4.2.6","zsh-4.2.6-dev-2","zsh-4.3.0-dev-3","zsh-4.3.0-dev-4","zsh-4.3.0-dev-5","zsh-4.3.1","zsh-4.3.10","zsh-4.3.10-dev-2","zsh-4.3.10-test-3","zsh-4.3.11","zsh-4.3.11-dev-4","zsh-4.3.12","zsh-4.3.12-test-3","zsh-4.3.13","zsh-4.3.14","zsh-4.3.15","zsh-4.3.16","zsh-4.3.17","zsh-4.3.17-test-2","zsh-4.3.2","zsh-4.3.3","zsh-4.3.4","zsh-4.3.4-dev-2","zsh-4.3.4-dev-4","zsh-4.3.4-dev-5","zsh-4.3.4-dev-6","zsh-4.3.4-dev-7","zsh-4.3.4-dev-8","zsh-4.3.5","zsh-4.3.5-dev-1","zsh-4.3.5-dev-2","zsh-4.3.5-dev-3","zsh-4.3.5-dev-4","zsh-4.3.6","zsh-4.3.6-dev-1","zsh-4.3.6-dev-2","zsh-4.3.7","zsh-4.3.8","zsh-4.3.9","zsh-4.3.9-dev-3","zsh-4.3.9-dev-5","zsh-5.0.0","zsh-5.0.0-test-1","zsh-5.0.1","zsh-5.0.2","zsh-5.0.2-test-1","zsh-5.0.2-test-2","zsh-5.0.2-test-3","zsh-5.0.3","zsh-5.0.3-test-1","zsh-5.0.3-test-2","zsh-5.0.4","zsh-5.0.5","zsh-5.0.5-dev-1","zsh-5.0.5-dev-2","zsh-5.0.5-dev-3","zsh-5.0.6","zsh-5.0.6-dev-1","zsh-5.0.7","zsh-5.0.7-dev-2","zsh-5.0.7-dev-4","zsh-5.0.8","zsh-5.0.8-test-2","zsh-5.0.8-test-3","zsh-5.1","zsh-5.1-test-1","zsh-5.1.1","zsh-5.1.1-test-1","zsh-5.1.1-test-2","zsh-5.1.1-test-3","zsh-5.2","zsh-5.2-test-1","zsh-5.2-test-2","zsh-5.2-test-3","zsh-5.3","zsh-5.3.1","zsh-5.4","zsh-5.4.1","zsh-5.4.2","zsh-5.4.2-test-1","zsh-5.4.2-test-2","zsh-5.5","zsh-5.5.1","zsh-5.5.1-test-1","zsh-5.5.1-test-2","zsh-5.6","zsh-5.6.1","zsh-5.6.2","zsh-5.6.2-test-2","zsh-5.6.2-test-3","zsh-5.7","zsh-5.7.1","zsh-5.7.1-test-1","zsh-5.7.1-test-2","zsh-5.7.1-test-3","zsh-5.8","zsh-5.8.1.2-test","zsh-5.8.1.3-test","zsh-5.9","zsh-5.9.0.2-test"],"database_specific":{"unresolved_ranges":[{"events":[{"introduced":"0"},{"last_affected":"34"}]},{"events":[{"introduced":"0"},{"last_affected":"35"}]},{"events":[{"introduced":"0"},{"last_affected":"9.0"}]},{"events":[{"introduced":"0"},{"last_affected":"10.0"}]},{"events":[{"introduced":"0"},{"last_affected":"11.0"}]},{"events":[{"introduced":"10.15"},{"fixed":"10.15.7"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2020"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2020\\-001"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2020\\-005"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2020\\-007"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2021\\-001"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2021\\-002"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2021\\-003"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2021\\-006"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2021\\-007"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2021\\-008"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2022\\-001"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2022\\-002"}]},{"events":[{"introduced":"0"},{"last_affected":"10.15.7-security_update_2022\\-003"}]},{"events":[{"introduced":"11.0"},{"fixed":"11.6.6"}]},{"events":[{"introduced":"12.0.0"},{"fixed":"12.4"}]}],"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-45444.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}