{"id":"CVE-2021-22204","aliases":["ALPINE-CVE-2021-22204","DEBIAN-CVE-2021-22204","DLA-2663-1","DSA-4910-1","EUVD-2021-9350","GHSA-9377-7hwr-p4w6","MGASA-2021-0259","UBUNTU-CVE-2021-22204","USN-4987-1","USN-4987-2","openSUSE-SU-2021:0707-1"],"status":"published","title":"Improper neutralization of user data in the DjVu file format in ExifTool versions 7.44 and up...","description":"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","severity":{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.99981,"percentile":0.99981,"model":"v2026.06.15"},"facts":{"in_kev":true,"known_exploited":true,"public_exploit":true,"fix_available":true},"cwes":["CWE-74","CWE-94","CWE-95"],"published":"2021-04-23T17:22:15Z","modified":"2026-11-03T06:32:32Z","kev":{"date_added":"2021-11-17","due_date":"2021-12-01","required_action":"Apply updates per vendor instructions.","known_ransomware_use":"Unknown"},"exploitation":[{"source":"euvd","since":"2021-11-17"},{"source":"kev","since":"2021-11-17"}],"exploits":[{"source":"metasploit","id":"exploit/multi/http/gitlab_exif_rce","title":"GitLab Unauthenticated Remote ExifTool Command Injection","type":"exploit","platform":"Linux,Unix","date":"2021-04-14","verified":true,"url":"https://www.rapid7.com/db/modules/exploit/multi/http/gitlab_exif_rce"},{"source":"pocgithub","id":"convisolabs/CVE-2021-22204-exiftool","title":"convisolabs/CVE-2021-22204-exiftool","date":"2021-05-11","url":"https://github.com/convisolabs/CVE-2021-22204-exiftool"},{"source":"pocgithub","id":"se162xg/CVE-2021-22204","title":"se162xg/CVE-2021-22204","date":"2021-05-12","url":"https://github.com/se162xg/CVE-2021-22204"},{"source":"pocgithub","id":"bilkoh/POC-CVE-2021-22204","title":"bilkoh/POC-CVE-2021-22204","date":"2021-05-21","url":"https://github.com/bilkoh/POC-CVE-2021-22204"},{"source":"metasploit","id":"exploit/unix/fileformat/exiftool_djvu_ant_perl_injection","title":"ExifTool DjVu ANT Perl injection","type":"exploit","platform":"Unix","date":"2021-05-24","verified":true,"url":"https://www.rapid7.com/db/modules/exploit/unix/fileformat/exiftool_djvu_ant_perl_injection"},{"source":"pocgithub","id":"AssassinUKG/CVE-2021-22204","title":"AssassinUKG/CVE-2021-22204","date":"2021-08-02","url":"https://github.com/AssassinUKG/CVE-2021-22204"},{"source":"pocgithub","id":"PenTestical/CVE-2021-22204","title":"PenTestical/CVE-2021-22204","date":"2021-08-02","url":"https://github.com/PenTestical/CVE-2021-22204"},{"source":"pocgithub","id":"ph-arm/CVE-2021-22204-Gitlab","title":"ph-arm/CVE-2021-22204-Gitlab","date":"2021-11-04","url":"https://github.com/ph-arm/CVE-2021-22204-Gitlab"},{"source":"pocgithub","id":"Asaad27/CVE-2021-22204-RSE","title":"Asaad27/CVE-2021-22204-RSE","date":"2021-12-06","url":"https://github.com/Asaad27/CVE-2021-22204-RSE"},{"source":"pocgithub","id":"trganda/CVE-2021-22204","title":"trganda/CVE-2021-22204","date":"2021-12-29","url":"https://github.com/trganda/CVE-2021-22204"},{"source":"pocgithub","id":"0xBruno/CVE-2021-22204","title":"0xBruno/CVE-2021-22204","date":"2022-01-30","url":"https://github.com/0xBruno/CVE-2021-22204"},{"source":"pocgithub","id":"mr-tuhin/CVE-2021-22204-exiftool","title":"mr-tuhin/CVE-2021-22204-exiftool","date":"2022-02-21","url":"https://github.com/mr-tuhin/CVE-2021-22204-exiftool"},{"source":"pocgithub","id":"UNICORDev/exploit-CVE-2021-22204","title":"UNICORDev/exploit-CVE-2021-22204","date":"2022-04-16","url":"https://github.com/UNICORDev/exploit-CVE-2021-22204"},{"source":"exploitdb","id":"EDB-50911","title":"ExifTool 12.23 - Arbitrary Code Execution","type":"local","platform":"linux","date":"2022-05-11","url":"https://www.exploit-db.com/exploits/50911"},{"source":"pocgithub","id":"Akash7350/CVE-2021-22204","title":"Akash7350/CVE-2021-22204","date":"2023-05-14","url":"https://github.com/Akash7350/CVE-2021-22204"},{"source":"pocgithub","id":"battleofthebots/dejavu","title":"battleofthebots/dejavu","date":"2023-07-25","url":"https://github.com/battleofthebots/dejavu"},{"source":"pocgithub","id":"cc3305/CVE-2021-22204","title":"cc3305/CVE-2021-22204","date":"2024-06-07","url":"https://github.com/cc3305/CVE-2021-22204"},{"source":"pocgithub","id":"Roronoawjd/CVE-2021-22204","title":"Roronoawjd/CVE-2021-22204","date":"2025-10-27","url":"https://github.com/Roronoawjd/CVE-2021-22204"},{"source":"pocgithub","id":"d4ytox/CVE-2021-22204","title":"d4ytox/CVE-2021-22204","date":"2026-06-13","url":"https://github.com/d4ytox/CVE-2021-22204"},{"source":"pocgithub","id":"cyfrowesny/exiftool-7.44-12.23-exploit-CVE-2021-22204","title":"cyfrowesny/exiftool-7.44-12.23-exploit-CVE-2021-22204","date":"2026-10-16","url":"https://github.com/cyfrowesny/exiftool-7.44-12.23-exploit-CVE-2021-22204"}],"fixes":[{"ecosystem":"Alpine:v3.13","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.14","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.15","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.16","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.17","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.18","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.19","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.20","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.21","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"perl-image-exiftool","fixed_in":["12.24-r0"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"libimage-exiftool-perl","fixed_in":["12.16+dfsg-2"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"libimage-exiftool-perl","fixed_in":["12.16+dfsg-2"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"libimage-exiftool-perl","fixed_in":["12.16+dfsg-2"],"sources":["osv"]},{"ecosystem":"Debian:9","package":"libimage-exiftool-perl","fixed_in":["10.40-1+deb9u1"],"sources":["osv"]},{"ecosystem":"Debian:10","package":"libimage-exiftool-perl","fixed_in":["11.16-1+deb10u1"],"sources":["osv"]},{"ecosystem":"Mageia:7","package":"perl-Image-ExifTool","fixed_in":["11.300.0-1.1.mga7"],"sources":["osv"]},{"ecosystem":"Mageia:8","package":"perl-Image-ExifTool","fixed_in":["12.0.0-1.1.mga8"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libimage-exiftool-perl","fixed_in":["10.10-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"libimage-exiftool-perl","fixed_in":["10.80-1ubuntu0.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"libimage-exiftool-perl","fixed_in":["11.88-1ubuntu0.1"],"sources":["osv"]},{"ecosystem":"SUSE:Package Hub 15 SP1","package":"perl-Image-ExifTool","fixed_in":["12.25-bp152.4.3.1"],"sources":["osv"]},{"ecosystem":"SUSE:Package Hub 15 SP2","package":"perl-Image-ExifTool","fixed_in":["12.25-bp152.4.3.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 15.2","package":"perl-Image-ExifTool","fixed_in":["12.25-bp152.4.3.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.13","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.14","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.15","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.16","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.17","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.18","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.19","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.20","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.21","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"perl-image-exiftool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.24-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.16+dfsg-2"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.16+dfsg-2"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.16+dfsg-2"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.40-1+deb9u1"}]}],"versions":["10.40-1"]},{"source":"osv","ecosystem":"Debian:10","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.16-1+deb10u1"}]}],"versions":["11.16-1"]},{"source":"osv","ecosystem":"Mageia:7","package":"perl-Image-ExifTool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.300.0-1.1.mga7"}]}]},{"source":"osv","ecosystem":"Mageia:8","package":"perl-Image-ExifTool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.0.0-1.1.mga8"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.10-1ubuntu0.1~esm1"}]}],"versions":["10.00-1","10.02-1","10.04-1","10.05-1","10.07-1","10.08-1","10.09-1","10.10-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.80-1ubuntu0.1"}]}],"versions":["10.60-1","10.64-1","10.65-1","10.67-1","10.75-1","10.79-1","10.80-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.88-1ubuntu0.1"}]}],"versions":["11.65-1","11.70-1","11.74-1","11.75-1","11.76-1","11.77-1","11.78-1","11.79-1","11.80-1","11.87-1","11.88-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.80-1ubuntu0.1"}]}],"versions":["10.60-1","10.64-1","10.65-1","10.67-1","10.75-1","10.79-1","10.80-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.88-1ubuntu0.1"}]}],"versions":["11.65-1","11.70-1","11.74-1","11.75-1","11.76-1","11.77-1","11.78-1","11.79-1","11.80-1","11.87-1","11.88-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"libimage-exiftool-perl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.10-1ubuntu0.1~esm1"}]}],"versions":["10.00-1","10.02-1","10.04-1","10.05-1","10.07-1","10.08-1","10.09-1","10.10-1"]},{"source":"osv","ecosystem":"SUSE:Package Hub 15 SP1","package":"perl-Image-ExifTool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.25-bp152.4.3.1"}]}]},{"source":"osv","ecosystem":"SUSE:Package Hub 15 SP2","package":"perl-Image-ExifTool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.25-bp152.4.3.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"perl-Image-ExifTool","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.25-bp152.4.3.1"}]}]}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"exiftool","product":"exiftool"},{"vendor":"exiftool_project","product":"exiftool"},{"vendor":"fedoraproject","product":"fedora"},{"vendor":"perl","product":"exiftool"}],"references":[{"url":"https://github.com/exiftool/exiftool/commit/cf0f4e7dcd024ca99615bfd1102a841a25dde031#diff-fa0d652d10dbcd246e6b1df16c1e992931d3bb717a7e36157596b76bdadb3800","tags":["x_refsource_MISC","x_transferred","Patch","fix","report"]},{"url":"https://hackerone.com/reports/1154542","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report"]},{"url":"https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-22204.json","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","report"]},{"url":"https://www.debian.org/security/2021/dsa-4910","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U4RF6PJCJ6NQOVJJJF6HN6BORUQVIXY6/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","Release Notes","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DDKDLJLBTBBR66OOPXSXCG2PQRM5KCZL/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","Release Notes","advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/F6UOBPU3LSHAPRRJNISNVXZ5DSUIALLV/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","Release Notes","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2021/05/09/1","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2021/05/10/5","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://packetstormsecurity.com/files/162558/ExifTool-DjVu-ANT-Perl-Injection.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence"]},{"url":"https://lists.debian.org/debian-lts-announce/2021/05/msg00018.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"http://packetstormsecurity.com/files/164768/GitLab-Unauthenticated-Remote-ExifTool-Command-Injection.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence"]},{"url":"http://packetstormsecurity.com/files/164994/GitLab-13.10.2-Remote-Code-Execution.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence"]},{"url":"http://packetstormsecurity.com/files/167038/ExifTool-12.23-Arbitrary-Code-Execution.html","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","VDB Entry","evidence"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-22204","tags":["government-resource","US Government Resource","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-22204"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DDKDLJLBTBBR66OOPXSXCG2PQRM5KCZL"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/F6UOBPU3LSHAPRRJNISNVXZ5DSUIALLV"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U4RF6PJCJ6NQOVJJJF6HN6BORUQVIXY6"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DDKDLJLBTBBR66OOPXSXCG2PQRM5KCZL"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/F6UOBPU3LSHAPRRJNISNVXZ5DSUIALLV"},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/U4RF6PJCJ6NQOVJJJF6HN6BORUQVIXY6"},{"url":"https://github.com/advisories/GHSA-9377-7hwr-p4w6"},{"url":"https://security.alpinelinux.org/vuln/CVE-2021-22204","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2021-22204","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2021-0259.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=28927","tags":["report"]},{"url":"https://www.openwall.com/lists/oss-security/2021/05/09/1","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DDKDLJLBTBBR66OOPXSXCG2PQRM5KCZL/","tags":["web"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/SLQ4XG6SNL6OL7SHPBZLVWYCAEZGZW5X/","tags":["web","advisory"]},{"url":"https://ubuntu.com/security/CVE-2021-22204","tags":["report"]},{"url":"https://bugs.launchpad.net/bugs/1925985","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-4987-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-22204","tags":["report"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-4987-2","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1185547","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2021-22204","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2021-22204","description":"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","status":"published","published":"2021-04-23T17:22:15Z","modified":"2025-10-21T23:25:48.455Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:32:57.701381Z"}],"euvd":[{"id":"EUVD-2021-9350","description":"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","status":"published","published":"2021-04-23T17:22:15Z","modified":"2025-10-21T23:25:48Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"medium"}],"exploited_since":"2021-11-17","updated_at":"2026-11-02T20:31:25.308373Z"}],"ghsa":[{"id":"GHSA-9377-7hwr-p4w6","title":"Improper neutralization of user data in the DjVu file format in ExifTool versions 7.44 and up...","description":"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","status":"published","published":"2022-05-24T17:48:43Z","modified":"2025-10-22T00:33:09Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-74","CWE-94"],"updated_at":"2026-11-02T15:04:07.67458Z"}],"kev":[{"id":"CVE-2021-22204","title":"ExifTool Remote Code Execution Vulnerability","description":"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","cwes":["CWE-95"],"kev":{"date_added":"2021-11-17","due_date":"2021-12-01","required_action":"Apply updates per vendor instructions.","known_ransomware_use":"Unknown"},"updated_at":"2026-11-02T17:00:16.541131Z"}],"nvd":[{"id":"CVE-2021-22204","description":"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","status":"published","published":"2021-04-23T18:15:08.127Z","modified":"2026-06-17T03:36:47.89Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:06:52.03307Z"}],"osv":[{"id":"ALPINE-CVE-2021-22204","description":"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","status":"published","published":"2021-04-23T18:15:08.127Z","modified":"2026-11-03T06:32:32.005186465Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-03T07:17:41.158523Z"},{"id":"CVE-2021-22204","description":"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","status":"published","published":"2021-04-23T18:15:08.127Z","modified":"2026-10-20T10:54:31.013856575Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:18.367807Z"},{"id":"DEBIAN-CVE-2021-22204","description":"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","status":"published","published":"2021-04-23T18:15:08.127Z","modified":"2026-10-23T18:03:11.899261147Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:34.637046Z"},{"id":"UBUNTU-CVE-2021-22204","description":"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","status":"published","published":"2021-04-23T18:15:00Z","modified":"2026-02-04T04:14:33.451969Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L","level":"medium"}],"updated_at":"2026-11-02T15:54:26.29421Z"},{"id":"DLA-2663-1","title":"libimage-exiftool-perl - security update","status":"published","published":"2021-05-16T00:00:00Z","modified":"2026-03-09T01:22:20.933649Z","updated_at":"2026-11-02T15:46:10.712745Z"},{"id":"DSA-4910-1","title":"libimage-exiftool-perl - security update","status":"published","published":"2021-05-02T00:00:00Z","modified":"2026-03-09T02:09:28.085913Z","updated_at":"2026-11-02T15:46:17.19998Z"},{"id":"MGASA-2021-0259","title":"Updated perl-Image-ExifTool package fixes a security vulnerability","description":"Improper neutralization of user data in the DjVu file format in ExifTool \nversions 7.44 and up allows arbitrary code execution when parsing the \nmalicious image (CVE-2021-22204).\n","status":"published","published":"2021-06-16T20:22:25Z","modified":"2026-04-16T04:41:17.062662534Z","updated_at":"2026-11-02T15:49:41.509337Z"},{"id":"openSUSE-SU-2021:0707-1","title":"Security update for perl-Image-ExifTool","description":"This update for perl-Image-ExifTool fixes the following issues:\n\nUpdate to version 12.25 fixes (boo#1185547 CVE-2021-22204)\n\n* JPEG XL support is now official\n* Added read support for Medical Research Council (MRC) image\n  files\n* Added ability to write a number of 3gp tags in video files\n* Added a new Sony PictureProfile value (thanks Jos Roost)\n* Added a new Sony LensType (thanks LibRaw)\n* Added a new Nikon LensID (thanks Niels Kristian Bech Jensen)\n* Added a new Canon LensType\n* Decode more GPS information from Blackvue dashcam videos\n* Decode a couple of new NikonSettings tags (thanks Warren\n  Hatch)\n* Decode a few new RIFF tags\n* Improved Validate option to add minor warning if standard\n  XMP is missing xpacket wrapper\n* Avoid decoding some large arrays in DNG images to improve\n  performance unless the -m option is used\n* Patched bug that could give runtime warning when trying to\n  write an empty XMP structure\n* Fixed decoding of ImageWidth/Height for JPEG XL images\n* Fixed problem were Microsoft Xtra tags couldn't be deleted\n\nversion 12.24:\n\n* Added a new PhaseOne RawFormat value (thanks LibRaw)\n* Decode a new Sony tag (thanks Jos Roost)\n* Decode a few new Panasonic and FujiFilm tags (thanks LibRaw\n  and Greybeard)\n* Patched security vulnerability in DjVu reader\n* Updated acdsee.config in distribution (thanks StarGeek)\n* Recognize AutoCAD DXF files\n* More work on experimental JUMBF read support\n* More work on experimental JPEG XL read/write support\n\nversion 12.23:\n\n* Added support for Olympus ORI files\n* Added experimental read/write support for JPEG XL images\n* Added experimental read support for JUMBF metadata in JPEG\n  and Jpeg2000 images\n* Added built-in support for parsing GPS track from Denver\n  ACG-8050 videos\n  with the -ee option\n* Added a some new Sony lenses (thanks Jos Roost and LibRaw)\n* Changed priority of Samsung trailer tags so the first\n  DepthMapImage takes\n  precedence when -a is not used\n* Improved identification of M4A audio files\n* Patched to avoid escaping ',' in 'Binary data' message when\n  -struct is used\n* Removed Unknown flag from MXF VideoCodingSchemeID tag\n* Fixed -forcewrite=EXIF to apply to EXIF in binary header of\n  EPS files\n* API Changes:\n  + Added BlockExtract option\n\nversion 12.22:\n\n* Added a few new Sony LensTypes and a new SonyModelID (thanks\n  Jos Roost and LibRaw)\n* Added Extra BaseName tag\n* Added a new CanonModelID (thanks LibRaw)\n* Decode timed GPS from unlisted programs in M2TS videos with\n  the -ee3 option\n* Decode more Sony rtmd tags\n* Decode some tags for the Sony ILME-FX3 (thanks Jos Roost)\n* Allow negative values to be written to XMP-aux:LensID\n* Recognize HEVC video program in M2TS files\n* Enhanced -b option so --b suppresses tags with binary data\n* Improved flexibility when writing GPS coordinates:\n  + Now pulls latitude and longitude from a combined\n    GPSCoordinates string\n  + Recognizes the full word 'South' and 'West' to write\n    negative coordinates\n* Improved warning when trying to write an integer QuickTime\n  date/time tag and Time::Local is not available\n* Convert GPSSpeed from mph to km/h in timed GPS from Garmin\n  MP4 videos\n\nversion 12.21:\n\n* Added a few new iOS QuickTime tags\n* Decode a couple more Sony rtmd tags\n* Patch to avoid possible 'Use of uninitialized value' warning\n  when attempting to write QuickTime date/time tags with an\n  invalid value\n* Fixed problem writing Microsoft Xtra tags\n* Fixed Windows daylight savings time patch for file times\n  that was broken in 12.19 (however directory times will not\n  yet handle DST properly)\n\nversion 12.20:\n\n* Added ability to write some Microsoft Xtra tags in MOV/MP4\n  videos\n* Added two new Canon LensType values (thanks Norbert Wasser)\n* Added a new Nikon LensID\n* Fixed problem reading FITS comments that start before column\n  11\n\nversion 12.19:\n\n* Added -list_dir option\n* Added the 'ls-l' Shortcut tag\n* Extract Comment and History from FITS files\n* Enhanced FilePermissions to include device type (similar to\n  'ls -l')\n* Changed the name of Apple ContentIdentifier tag to\n  MediaGroupUUID (thanks Neal Krawetz)\n* Fixed a potential 'substr outside of string' runtime error\n  when reading corrupted EXIF\n* Fixed edge case where NikonScanIFD may not be copied\n  properly when copying MakerNotes to another file\n* API Changes:\n  + Added ability to read/write System tags of directories\n  + Enhanced GetAllGroups() to support family 7 and take\n    optional ExifTool reference\n  + Changed QuickTimeHandler option default to 1\n\nversion 12.18:\n\n* Added a new SonyModelID\n* Decode a number of Sony tags for the ILCE-1 (thanks Jos\n  Roost)\n* Decode a couple of new Canon tags (thanks LibRaw)\n* Patched to read differently formatted UserData:Keywords as\n  written by iPhone\n* Patched to tolerate out-of-order Nikon MakerNote IFD entries\n  when obtaining tags necessary for decryption\n* Fixed a few possible Condition warnings for some\n  NikonSettings tags\n\nversion 12.17:\n\n* Added a new Canon FocusMode value\n* Added a new FujiFilm FilmMode value\n* Added a number of new XMP-crs tags (thanks Herb)\n* Decode a new H264 MDPM tag\n* Allow non-conforming lower-case XMP boolean 'true' and\n  'false' values to be written, but only when print conversion\n  is disabled\n* Improved Validate option to warn about non-capitalized\n  boolean XMP values\n* Improved logic for setting GPSLatitude/LongitudeRef values\n  when writing\n* Changed -json and -php options so the -a option is implied\n  even without the -g option\n* Avoid extracting audio/video data from AVI videos when -ee\n  -u is used\n* Patched decoding of Canon ContinuousShootingSpeed for newer\n  firmware versions of the EOS-1DXmkIII\n* Re-worked LensID patch of version 12.00 (github issue #51)\n* Fixed a few typos in newly-added NikonSettings tags (thanks\n  Herb)\n* Fixed problem where group could not be specified for\n  PNG-pHYs tags when writing\nversion 12.16:\n* Extract another form of video subtitle text\n* Enhanced -ee option with -ee2 and -ee3 to allow parsing of\n  the H264 video stream in MP4 files\n* Changed a Nikon FlashMode value\n* Fixed problem that caused a failed DPX test on Strawberry\n  Perl\n* API Changes:\n  + Enhanced ExtractEmbedded option\n\nversion 12.15:\n\n* Added a couple of new Sony LensType values (thanks LibRaw\n  and Jos Roost)\n* Added a new Nikon FlashMode value (thanks Mike)\n* Decode NikonSettings (thanks Warren Hatch)\n* Decode thermal information from DJI RJPEG images\n* Fixed extra newline in -echo3 and -echo4 outputs added in\n  version 12.10\n* Fixed out-of-memory problem when writing some very large PNG\n  files under Windows\n\nversion 12.14:\n\n* Added support for 2 more types of timed GPS in video files\n  (that makes 49 different formats now supported)\n* Added validity check for PDF trailer dictionary Size\n* Added a new Pentax LensType\n* Extract metadata from Jpeg2000 Association box\n* Changed -g:XX:YY and -G:XX:YY options to show empty strings\n  for non-existent groups\n* Patched to issue warning and avoid writing date/time values\n  with a zero month or day number\n* Patched to avoid runtime warnings if trying to set FileName\n  to an empty string\n* Fixed issue that could cause GPS test number 12 to fail on\n  some systems\n* Fixed problem extracting XML as a block from Jpeg2000\n  images, and extract XML tags in the XML group instead of XMP\n- Update URL\n\nupdate to 12.13:\n\n* Add time zone automatically to most string-based QuickTime date/time tags\n  when writing unless the PrintConv option is disabled\n* Added -i HIDDEN option to ignore files with names that start with '.'\n* Added a few new Nikon ShutterMode values (thanks Jan Skoda)\n* Added ability to write Google GCamera MicroVideo XMP tags\n* Decode a new Sony tag (thanks LibRaw)\n* Changed behaviour when writing only pseudo tags to return an error and avoid\n  writing any other tags if writing FileName fails\n* Print 'X image files read' message even if only 1 file is read when at least\n  one other file has failed the -if condition\n* Added ability to geotag from DJI CSV log files\n* Added a new CanonModelID\n* Added a couple of new Sony LensType values (thanks LibRaw)\n* Enhanced -csvDelim option to allow '\\t', '\\n', '\\r' and '\\\\'\n* Unescape '\\b' and '\\f' in imported JSON values\n* Fixed bug introduced in 12.10 which generated a 'Not an integer' warning\n  when attempting to shift some QuickTime date/time tags\n* Fixed shared-write permission problem with -@ argfile when using -stay_open\n  and a filename containing special characters on Windows\n* Added -csvDelim option\n* Added new Canon and Olympus LensType values (thanks LibRaw)\n* Added a warning if ICC_Profile is deleted from an image (github issue #63)\n* EndDir() function for -if option now works when -fileOrder is used\n* Changed FileSize conversion to use binary prefixes since that is how the\n  conversion is currently done (eg. MiB instead of MB)\n* Patched -csv option so columns aren't resorted when using -G option and one\n  of the tags is missing from a file\n* Fixed incompatiblity with Google Photos when writing UserData:GPSCoordinates\n  to MP4 videos\n* Fixed problem where the tags available in a -p format string were limited to\n  the same as the -if[NUM] option when NUM was specified\n* Fixed incorrect decoding of SourceFileIndex/SourceDirectoryIndex for Ricoh\n  models\n\nUpdate to 12.10\n\n* Added -validate test for proper TIFF magic number in\n  JPEG EXIF header\n* Added support for Nikon Z7 LensData version 0801\n* Added a new XMP-GPano tag\n* Decode ColorData for the Canon EOS 1DXmkIII\n* Decode more tags for the Sony ILCE-7SM3\n* Automatically apply QuickTimeUTC option for CR3 files\n* Improved decoding of XAttrMDLabel from MacOS files\n* Ignore time zones when writing date/time values and\n  using the -d option\n* Enhanced -echo3 and -echo4 options to allow exit status\n  to be returned\n* Changed -execute so the -q option no longer suppresses\n  the '{ready}' message when a synchronization number is used\n* Added ability to copy CanonMakerNotes from CR3 images\n  to other file types\n* Added read support for ON1 presets file (.ONP)\n* Added two new CanonModelID values\n* Added trailing '/' when writing QuickTime:GPSCoordinates\n* Added a number of new XMP-crs tags\n* Added a new Sony LensType (thanks Jos Roost)\n* Added a new Nikon Z lens (thanks LibRaw)\n* Added a new Canon LensType\n* Decode ColorData for Canon EOS R5/R6\n* Decode a couple of new HEIF tags\n* Decode FirmwareVersion for Canon M50\n* Improved decoding of Sony CreativeStyle tags\n* Improved parsing of Radiance files to recognize comments\n* Renamed GIF AspectRatio tag to PixelAspectRatio\n* Patched EndDir() feature so subdirectories are always\n  processed when -r is used (previously, EndDir() would\n  end processing of a directory completely)\n* Avoid loading GoPro module unnecessarily when reading MP4 videos\n  from some other cameras\n* Fixed problem with an incorrect naming of CodecID tags in some\n  MKV videos\n* Fixed verbose output to avoid 'adding' messages for\n  existing flattened XMP tags\n* Added a new Sony LensType\n* Recognize Mac OS X xattr files\n* Extract ThumbnailImage from MP4 videos of more dashcam models\n* Improved decoding of a number of Sony tags\n* Fixed problem where the special -if EndDir() function didn't\n  work properly for directories after the one in which\n  it was initially called\n* Patched to read DLL files which don't have a .rsrc section\n* Patched to support new IGC date format when geotagging\n* Patched to read DLL files with an invalid size in the header \n* Added support for GoPro .360 videos\n* Added some new Canon RF and Nikkor Z lenses\n* Added some new Sony LensType and CreativeStyle values\n  and decode some ILCE-7C tags\n* Added a number of new Olympus SceneMode values\n* Added a new Nikon LensID\n* Decode more timed metadata from Insta360 videos\n* Decode timed GPS from videos of more Garmin dashcam models\n* Decode a new GoPro video tag\n* Reformat time-only EventTime values when writing and prevent\n  arbitrary strings from being written\n* Patched to accept backslashes in SourceFile entries for -csv option\n\nupdate to 12.06\n\n* Added read support for Lyrics3 metadata (and fixed problem\n  where APE metadata may be ignored if Lyrics3 exists)\n* Added a new Panasonic VideoBurstMode value\n* Added a new Olympus MultipleExposureMode value\n* Added a new Nikon LensID\n* Added back conversions for XMP-dwc EventTime that were removed\n  in 12.04 with a patch to allow time-only values\n* Decode GIF AspectRatio\n* Decode Olympus FocusBracketStepSize\n* Extract PNG iDOT chunk in Binary format with the\n  name AppleDataOffsets\n* Process PNG images which do not start with mandatory\n  IHDR chunk\n* Added a new Panasonic SelfTimer value\n* Decode a few more DPX tags\n* Extract AIFF APPL tag as ApplicationData\n* Fixed bug writing QuickTime ItemList 'gnre' Genre values\n* Fixed an incorrect value for Panasonic VideoBurstResolution\n* Fixed problem when applying a time shift to some invalid\n  makernote date/time values\n\nupdate to 12.04:\n\n* See /usr/share/doc/packages/perl-Image-ExifTool/Change \n\nupdate to 11.50, see Image-ExifTool-11.50.tar.gz for details\n\nUpdate to version 11.30:\n\n* Add a new Sony/Minolta LensType.\n* Decode streaming metadata from TomTom Bandit Action Cam MP4\n  videos.\n* Decode Reconyx HF2 PRO maker notes.\n* Decode ColorData for some new Canon models.\n* Enhanced -geotag feature to set AmbientTemperature if\n  available.\n* Remove non-significant spaces from some DICOM values.\n* Fix possible ''x' outside of string' error when reading\n  corrupted EXIF.\n* Fix incorrect write group for GeoTIFF tags.\n\nUpdate to version 11.29\n\n* See /usr/share/doc/packages/perl-Image-ExifTool/Changes\n\nUpdate to version 11.27\n\n* See /usr/share/doc/packages/perl-Image-ExifTool/Changes\n\nUpdate to version 11.24\n\n* See /usr/share/doc/packages/perl-Image-ExifTool/Changes\n\nUpdate to version 11.11 (changes since 11.01):\n\n* See /usr/share/doc/packages/perl-Image-ExifTool/Changes\n\nUpdate to 11.01:\n\n* Added a new ProfileCMMType\n* Added a Validate warning about non-standard EXIF or XMP in\n  PNG images\n* Added a new Canon LensType\n* Decode a couple more PanasonicRaw tags\n* Patched to avoid adding tags to QuickTime videos with multiple\n  'mdat' atoms --\u003e avoids potential corruption of these videos!\n\nUpdate to 11.00:\n\n* Added read support for WTV and DVR-MS videos\n* Added print conversions for some ASF date/time tags\n* Added a new SonyModelID\n* Decode a new PanasonicRaw tag\n* Decode some new Sony RX100 VI tags\n* Made Padding and OffsetSchema tags 'unsafe' so they\n  aren't copied by default \n\n","status":"published","published":"2021-05-10T18:41:24Z","modified":"2026-02-04T03:27:03.269956Z","updated_at":"2026-11-02T16:58:31.879684Z"},{"id":"USN-4987-1","title":"libimage-exiftool-perl vulnerability","description":"It was discovered that ExifTool did not properly sanitize user data for the\nDjVu file format. An attacker could use this vulnerability to cause a DoS or\npossibly execute arbitrary code.\n","status":"published","published":"2021-06-10T20:27:47Z","modified":"2026-02-10T04:42:13Z","updated_at":"2026-11-02T16:58:15.159055Z"},{"id":"USN-4987-2","title":"libimage-exiftool-perl vulnerability","description":"\nUSN-4987-1 fixed a vulnerability in ExifTool. This update provides\nthe corresponding update for Ubuntu 16.04 ESM.\n\nOriginal advisory details:\n\n It was discovered that ExifTool did not properly sanitize user data for the\n DjVu file format. An attacker could use this vulnerability to cause a DoS or\n possibly execute arbitrary code.\n","status":"published","published":"2022-02-08T21:24:13Z","modified":"2026-06-25T13:30:13.981606783Z","updated_at":"2026-11-02T16:58:15.159055Z"}]}}
