CVE Database›Document archive›CVE-2026-20884

CVE-2026-20884

LibRaw: LibRaw: Arbitrary code execution via integer overflow in deflate_dng_load_raw

Loading…

Severity

Moderate

Red Hat Product Security

7.5

CVSS 3.1

Review impact separately from score.

Published · April 7, 2026

Updated · June 30, 2026

Description

A flaw was found in LibRaw. An integer overflow vulnerability in the deflate_dng_load_raw functionality allows a remote attacker to provide a specially crafted malicious file. This can lead to a heap buffer overflow, potentially resulting in arbitrary code execution.

Statement

This flaw in the LibRaw library consists in an integer overflow in the deflate_dng_load_raw() function, a successfully performed attack may lead to a heap buffer overflow and potentially arbitrary code execution or denial of service. The vulnerability stems from the usage of a 32-bit arithmetic to calculate the memory limits and the buffer allocation size for the image's tile dimension values, which may end up overflowing when processing user controlled images as input. The calculation result is further used within 64-bit boundary checking however the proper cast is missing and the result value is used to allocate the buffer from memory, when the overflow happens the function may start writing outside of the expected memory boundary leading to data corruption.

This vulnerability is not exploitable when the application consuming LibRaw is using the default memory limit (max_raw_memory_mb parameter) to unpack the RAW image. To be considered vulnerable the application should be setting the limit to around or greater then 11GB.

Red Hat Product Security has rated this vulnerability as having a Moderate impact, despite the possibility of arbitrary code execution due to the heap-based buffer overflow, as the user needs to be tricked to process a maliciously crafted image or LibRaw needs to be exposed to the network and accepting untrusted data as input. Additionally the default max_raw_memory_mb value set with LibRaw is not enough to trigger the vulnerability.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

This vulnerability can be mitigated by limiting the amount of memory used to unpack untrusted RAW images. This needs to be set in the application using the LibRaw and can be achieved by setting the max_raw_memory_mb to a value smaller than 16GB. This parameter can't be changed in runtime in the library, so developers needs to patch and rebuild their application to impose the new limit. It's important to notice the fact when reducing the memory limit for the decoding process may render the library unable to handle big images.

CVSS / CWE

CVSS 3.1 · 7.5
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

CWE-190 · Integer Overflow or Wraparound