{"id":"CVE-2021-22204","published":"2021-04-23T18:15:08Z","modified":"2026-06-17T03:36:47Z","title":"ExifTool Remote Code Execution Vulnerability","vendor":"Perl","product":"Exiftool","tier":"core","eol":null,"description":{"text":"Improper neutralization of user data in the DjVu file format in ExifTool versions 7.44 and up allows arbitrary code execution when parsing the malicious image","provenance":"source","from":"NVD"},"summary":{"text":"The flaw is an improper neutralization of user data in ExifTool's handling of the DjVu file format, affecting the Perl-based Exiftool product from version 7.44 onward. An attacker who gets a victim to open or process a malicious DjVu image can achieve arbitrary code execution, and the attack requires local access and user interaction, with no authentication needed.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-31T04:54:28Z"},"cvss":{"score":7.8,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","provenance":"source","from":"NVD"},"epss":{"score":0.99981,"percentile":0.99981,"date":"2026-10-30","provenance":"source"},"kev":{"dateAdded":"2021-11-17","dueDate":"2021-12-01","ransomware":false,"requiredAction":"Apply updates per vendor instructions.","notes":"https://nvd.nist.gov/vuln/detail/CVE-2021-22204","provenance":"source"},"vulncheckKev":{"dateAdded":"2021-09-30","exploitedFirstSeen":"2021-09-30","ransomware":false,"evidence":[{"url":"https://www.lacework.com/blog/mirai-goes-stealth-tls-iot-malware/","date":"2021-09-30"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2021-11-17"},{"url":"https://www.botconf.eu/wp-content/uploads/2022/05/Botconf2022-24-PalotayZsigovits.pdf","date":"2022-04-27"}],"evidenceTotal":3,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"},{"name":"Actively_Exploited_Kev | Oct 18, 2026","url":"https://otx.alienvault.com/pulse/6ad38c22e1848f8189d1c121","created":"2026-10-17"}],"provenance":"machine"},"cwes":[{"id":"CWE-94","name":"Improper Control of Generation of Code"},{"id":"CWE-95","name":"Improper Neutralization of Directives in Dynamically Evaluated Code"}],"references":[{"url":"http://packetstormsecurity.com/files/162558/ExifTool-DjVu-ANT-Perl-Injection.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/164768/GitLab-Unauthenticated-Remote-ExifTool-Command-Injection.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/164994/GitLab-13.10.2-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/167038/ExifTool-12.23-Arbitrary-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://www.openwall.com/lists/oss-security/2021/05/09/1","tags":["Mailing List","Third Party Advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2021/05/10/5","tags":["Mailing List","Third Party Advisory"]},{"url":"https://github.com/exiftool/exiftool/commit/cf0f4e7dcd024ca99615bfd1102a841a25dde031#diff-fa0d652d10dbcd246e6b1df16c1e992931d3bb717a7e36157596b76bdadb3800","tags":["Patch"]},{"url":"https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22204.json","tags":["Third Party Advisory"]},{"url":"https://hackerone.com/reports/1154542","tags":["Exploit","Issue Tracking","Third Party Advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2021/05/msg00018.html","tags":["Mailing List","Third Party Advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DDKDLJLBTBBR66OOPXSXCG2PQRM5KCZL/","tags":["Release Notes"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/F6UOBPU3LSHAPRRJNISNVXZ5DSUIALLV/","tags":["Release Notes"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U4RF6PJCJ6NQOVJJJF6HN6BORUQVIXY6/","tags":["Release Notes"]},{"url":"https://www.debian.org/security/2021/dsa-4910","tags":["Mailing List","Third Party Advisory"]},{"url":"http://packetstormsecurity.com/files/162558/ExifTool-DjVu-ANT-Perl-Injection.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/164768/GitLab-Unauthenticated-Remote-ExifTool-Command-Injection.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/164994/GitLab-13.10.2-Remote-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://packetstormsecurity.com/files/167038/ExifTool-12.23-Arbitrary-Code-Execution.html","tags":["Exploit","Third Party Advisory","VDB Entry"]},{"url":"http://www.openwall.com/lists/oss-security/2021/05/09/1","tags":["Mailing List","Third Party Advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2021/05/10/5","tags":["Mailing List","Third Party Advisory"]},{"url":"https://github.com/exiftool/exiftool/commit/cf0f4e7dcd024ca99615bfd1102a841a25dde031#diff-fa0d652d10dbcd246e6b1df16c1e992931d3bb717a7e36157596b76bdadb3800","tags":["Patch"]},{"url":"https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22204.json","tags":["Third Party Advisory"]},{"url":"https://hackerone.com/reports/1154542","tags":["Exploit","Issue Tracking","Third Party Advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2021/05/msg00018.html","tags":["Mailing List","Third Party Advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DDKDLJLBTBBR66OOPXSXCG2PQRM5KCZL/","tags":["Release Notes"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/F6UOBPU3LSHAPRRJNISNVXZ5DSUIALLV/","tags":["Release Notes"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U4RF6PJCJ6NQOVJJJF6HN6BORUQVIXY6/","tags":["Release Notes"]},{"url":"https://www.debian.org/security/2021/dsa-4910","tags":["Mailing List","Third Party Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-22204","tags":["US Government Resource"]}],"techniques":[{"id":"T1190","name":"Exploit Public-Facing Application","tactics":["initial-access"],"provenance":"source","basis":"ctid-kev","bases":["ctid-kev"],"basisDetail":"CTID Mappings Explorer KEV 07/28/2025 (ATT&CK 16.1); capability: Code Execution","mappingType":"exploitation_technique","evidence":[],"comment":"The vulnerability is exploited by a remote attacker to execute arbitrary code on the target system. The vulnerability exists due to improper input validation when parsing DjVu files in ExifTool. A remote attacker can pass a specially crafted file to the application and execute arbitrary code on the target system. Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.","confidence":"low","confidenceNote":"needs user interaction; not a public-facing exploit"},{"id":"T1059","name":"Command and Scripting Interpreter","tactics":["execution"],"provenance":"source","basis":"ctid-kev","bases":["ctid-kev"],"basisDetail":"CTID Mappings Explorer KEV 07/28/2025 (ATT&CK 16.1); capability: Code Execution","mappingType":"primary_impact","evidence":[],"comment":"The vulnerability is exploited by a remote attacker to execute arbitrary code on the target system. The vulnerability exists due to improper input validation when parsing DjVu files in ExifTool. A remote attacker can pass a specially crafted file to the application and execute arbitrary code on the target system. Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.","confidence":"medium","confidenceNote":"CTID KEV capability group \"code execution\" is generic"}],"reports":[],"affected":[],"advisories":[],"euvd":{"id":"EUVD-2021-9350","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2021-9350","exploited":true,"exploitedSince":"2021-11-17","provenance":"source"},"exploits":[{"id":50911,"url":"https://www.exploit-db.com/exploits/50911","title":"ExifTool 12.23 - Arbitrary Code Execution","type":"local","platform":"linux","date":"2022-05-11","verified":false,"provenance":"source"}],"exploitSources":{"exploitdb":{"count":1,"earliest":"2022-05-11"},"pocGithub":{"count":17,"skipped":0,"earliest":"2021-05-11","earliestUrl":"https://github.com/convisolabs/CVE-2021-22204-exiftool","repos":[{"name":"convisolabs/CVE-2021-22204-exiftool","url":"https://github.com/convisolabs/CVE-2021-22204-exiftool","stars":98,"created":"2021-05-11"},{"name":"UNICORDev/exploit-CVE-2021-22204","url":"https://github.com/UNICORDev/exploit-CVE-2021-22204","stars":55,"created":"2022-04-16"},{"name":"AssassinUKG/CVE-2021-22204","url":"https://github.com/AssassinUKG/CVE-2021-22204","stars":28,"created":"2021-08-02"},{"name":"se162xg/CVE-2021-22204","url":"https://github.com/se162xg/CVE-2021-22204","stars":12,"created":"2021-05-12"},{"name":"mr-tuhin/CVE-2021-22204-exiftool","url":"https://github.com/mr-tuhin/CVE-2021-22204-exiftool","stars":9,"created":"2022-02-21"}]},"metasploit":[{"name":"GitLab Unauthenticated Remote ExifTool Command Injection","module":"exploit/multi/http/gitlab_exif_rce","type":"exploit","disclosureDate":"2021-04-14","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/gitlab_exif_rce.rb"},{"name":"ExifTool DjVu ANT Perl injection","module":"exploit/unix/fileformat/exiftool_djvu_ant_perl_injection","type":"exploit","disclosureDate":"2021-05-24","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/fileformat/exiftool_djvu_ant_perl_injection.rb"}],"first":{"date":"2021-04-14","source":"Metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/gitlab_exif_rce.rb"},"provenance":"source"},"exploitRefs":["http://packetstormsecurity.com/files/162558/ExifTool-DjVu-ANT-Perl-Injection.html","http://packetstormsecurity.com/files/164768/GitLab-Unauthenticated-Remote-ExifTool-Command-Injection.html","http://packetstormsecurity.com/files/164994/GitLab-13.10.2-Remote-Code-Execution.html","http://packetstormsecurity.com/files/167038/ExifTool-12.23-Arbitrary-Code-Execution.html","https://hackerone.com/reports/1154542"],"flow":[{"stage":"primary","techniques":["T1059"],"provenance":"source"},{"stage":"related","techniques":["T1190"],"provenance":"source","lowConfidence":true}],"timeline":[{"date":"2021-04-14","kind":"exploit-public","label":"First public exploit: Metasploit; later: PoC-in-GitHub 2021-05-11, Exploit-DB 2022-05-11","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/gitlab_exif_rce.rb","provenance":"source"},{"date":"2021-04-23","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-22204","provenance":"source"},{"date":"2021-09-30","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://www.lacework.com/blog/mirai-goes-stealth-tls-iot-malware/","provenance":"source"},{"date":"2021-11-17","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2021-11-17","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2021-9350","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":"Metasploit","daysToKev":208},"priority":{"score":68.5,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 1857 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":20.0,"detail":"percentile 0.9998"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"5 NVD references tagged Exploit; 1 Exploit-DB entry; 17 PoC-in-GitHub repos; 2 Metasploit modules"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":5.46,"detail":"base score 7.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}