Cloudanix VulnDB

CVE-2020-0452

Critical · 9.8

CVSS

9.8

EPSS

3.3%

Published

Nov 10, 2020

CISA due date

—

Cloudanix analysis

Act now SSVC: Track

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

  1. Craft malicious image with oversized EXIF entry values to trigger integer overflow
  2. Deliver image to target via network, message, or file upload
  3. Victim application or service invokes exif_entry_get_value on the file
  4. Out-of-bounds write occurs and attacker payload executes
  5. 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