CVE-2020-0452
Critical · 9.8CVSS
9.8
EPSS
3.3%
Published
Nov 10, 2020
CISA due date
—
Cloudanix analysis
A bug in how certain programs read information inside picture files could let attackers take control of phones or computers just by sending a specially made image.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in exif_entry_get_value allows an out-of-bounds write when parsing crafted EXIF data in image files, enabling remote code execution in the context of any app that processes untrusted images with this library.
Why it matters to the business
Attackers can compromise devices or servers that handle remote images without user interaction, leading to data theft, malware deployment, or service disruption across Android and Fedora ecosystems; the vulnerability has been public for years with no known widespread exploitation yet.
How an attack unfolds
An attacker crafts a malicious image containing specially formed EXIF metadata that triggers the integer overflow during parsing. The malformed file is delivered to a vulnerable app or service (via web, messaging, or file share). The library processes the image, the overflow occurs, and attacker-controlled data overwrites memory, achieving code execution with no privileges or user action required.
How to fix it
Upgrade to patched versions of the libexif library or apply the latest Android security updates for versions 8.0 through 11; Fedora users should install current packages from official repositories that contain the integer overflow fix.
How to confirm the fix worked
Confirm the presence of the fixed exif-entry.c logic that properly bounds EXIF entry sizes before arithmetic operations; test by feeding known-malicious EXIF images and verifying the process does not crash or execute unexpected code.
Typical attack path
- Craft malicious image with oversized EXIF entry values to trigger integer overflow
- Deliver image to target via network, message, or file upload
- Victim application or service invokes exif_entry_get_value on the file
- Out-of-bounds write occurs and attacker payload executes
- Attacker gains remote code execution in the process context
How to detect it
Review application and system logs for crashes or abnormal exits in image-processing components when handling EXIF-containing files; look for unexpected memory corruption indicators in crash reports from apps that parse remote images.
What your security team should do
- Prioritize patching Android devices and any Fedora systems that ingest untrusted images
- Inventory applications that bundle or depend on libexif and schedule upgrades
- Implement image sanitization gateways for high-risk services until patches are applied
- Monitor for new exploit maturity signals given the high CVSS and public disclosure
The record
In exif_entry_get_value of exif-entry.c, there is a possible out of bounds write due to an integer overflow. This could lead to remote code execution if a third party app used this library to process remote image data with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android-8.1 Android-9 Android-10 Android-11 Android-8.0Android ID: A-159625731
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | libexif | 0 | 0.6.22-5.el8_3 |
| AlmaLinux:8 | libexif-devel | 0 | 0.6.22-5.el8_3 |
| Android | platform/external/libexif | 10:0 | 10:2020-11-01 |
| Android | platform/external/libexif | 11-next:0 | 11-next:2020-11-01 |
| Android | platform/external/libexif | 11:0 | 11:2020-11-01 |
| Android | platform/external/libexif | 8.0:0 | 8.0:2020-11-01 |
| Android | platform/external/libexif | 8.1:0 | 8.1:2020-11-01 |
| Android | platform/external/libexif | 9:0 | 9:2020-11-01 |
| Debian:10 | libexif | 0 | 0.6.21-5.1+deb10u5 |
| Debian:11 | libexif | 0 | 0.6.22-3 |
| Debian:12 | libexif | 0 | 0.6.22-3 |
| Debian:13 | libexif | 0 | 0.6.22-3 |
| Debian:9 | libexif | 0 | 0.6.21-2+deb9u5 |
| Mageia:7 | libexif | 0 | 0.6.22-1.2.mga7 |
| Red Hat:enterprise_linux:7::client | libexif | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::client | libexif-debuginfo | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::client | libexif-devel | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::client | libexif-doc | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::computenode | libexif | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::computenode | libexif-debuginfo | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::computenode | libexif-devel | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::computenode | libexif-doc | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::server | libexif | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::server | libexif-debuginfo | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::server | libexif-devel | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::server | libexif-doc | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | libexif | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | libexif-debuginfo | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | libexif-devel | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | libexif-doc | 0 | 0:0.6.22-2.el7_9 |
| Red Hat:enterprise_linux:8::appstream | libexif | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::appstream | libexif-debuginfo | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::appstream | libexif-debugsource | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::appstream | libexif-devel | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::crb | libexif | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::crb | libexif-debuginfo | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::crb | libexif-debugsource | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:enterprise_linux:8::crb | libexif-devel | 0 | 0:0.6.22-5.el8_3 |
| Red Hat:rhel_e4s:8.0::appstream | libexif | 0 | 0:0.6.21-18.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | libexif-debuginfo | 0 | 0:0.6.21-18.el8_0 |
| Red Hat:rhel_e4s:8.0::appstream | libexif-debugsource | 0 | 0:0.6.21-18.el8_0 |
| Red Hat:rhel_eus:8.1::appstream | libexif | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | libexif-debuginfo | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | libexif-debugsource | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | libexif-devel | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::crb | libexif | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::crb | libexif-debuginfo | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::crb | libexif-debugsource | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.1::crb | libexif-devel | 0 | 0:0.6.21-18.el8_1 |
| Red Hat:rhel_eus:8.2::appstream | libexif | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | libexif-debuginfo | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | libexif-debugsource | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | libexif-devel | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::crb | libexif | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::crb | libexif-debuginfo | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::crb | libexif-debugsource | 0 | 0:0.6.21-18.el8_2 |
| Red Hat:rhel_eus:8.2::crb | libexif-devel | 0 | 0:0.6.21-18.el8_2 |
| Rocky Linux:8 | libexif | 0 | 0:0.6.22-5.el8_3 |
| SUSE:Enterprise Storage 6 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Enterprise Storage 7 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:HPE Helion OpenStack 8 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP3 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Real Time 15 SP2 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server 12 SP5 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server 15-LTSS | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:Manager Proxy 4.1 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Manager Retail Branch Server 4.1 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:Manager Server 4.1 | libexif | 0 | 0.6.22-150000.5.9.1 |
| SUSE:OpenStack Cloud 8 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:OpenStack Cloud 9 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:OpenStack Cloud Crowbar 8 | libexif | 0 | 0.6.22-8.13.1 |
| SUSE:OpenStack Cloud Crowbar 9 | libexif | 0 | 0.6.22-8.13.1 |
| Ubuntu:16.04:LTS | libexif | 0 | 0.6.21-2ubuntu0.6 |
| Ubuntu:18.04:LTS | libexif | 0 | 0.6.21-4ubuntu0.6 |
| Ubuntu:20.04:LTS | libexif | 0 | 0.6.21-6ubuntu0.4 |
| Ubuntu:Pro:14.04:LTS | libexif | 0 | 0.6.21-1ubuntu1+esm6 |
| openSUSE:Leap 15.3 | libexif | 0 | 0.6.22-150000.5.9.1 |
| openSUSE:Tumbleweed | libexif | 0 | 0.6.23-1.2 |
Related vulnerabilities
- CVE-2007-2645 Integer overflow in the exif_data_load_data_entry function in exif-data.c in libexif… Also affects libexif
- CVE-2026-40385 In libexif through 0.6.25, an unsigned 32bit integer overflow in Nikon MakerNote handling… Also affects libexif
- CVE-2026-40386 In libexif through 0.6.25, an integer underflow in size checking for Fuji and Olympus… Also affects libexif
- CVE-2026-32775 libexif through 0.6.25 has a flaw in decoding MakerNotes. Also affects libexif
- CVE-2026-110264 An issue has been discovered in GitLab CE/EE affecting all versions from 7.0 before… CWE-190
- CVE-2026-53615 util-linux is a random collection of Linux utilities. CWE-190
- CVE-2026-106574 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-190
- CVE-2026-106571 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-190