CVE-2020-14382

HIGH

cryptsetup - Out-of-bounds Write in LUKS2 Segments Validation

Title source: llm
STIX 2.1

Description

A vulnerability was found in upstream release cryptsetup-2.2.0 where, there's a bug in LUKS2 format validation code, that is effectively invoked on every device/image presenting itself as LUKS2 container. The bug is in segments validation code in file 'lib/luks2/luks2_json_metadata.c' in function hdr_validate_segments(struct crypt_device *cd, json_object *hdr_jobj) where the code does not check for possible overflow on memory allocation used for intervals array (see statement "intervals = malloc(first_backup * sizeof(*intervals));"). Due to the bug, library can be *tricked* to expect such allocation was successful but for far less memory then originally expected. Later it may read data FROM image crafted by an attacker and actually write such data BEYOND allocated memory.

References (4)

Core 4
Core References
Issue Tracking, Patch, Third Party Advisory x_refsource_misc
https://bugzilla.redhat.com/show_bug.cgi?id=1874712
Third Party Advisory vendor-advisory x_refsource_ubuntu
https://usn.ubuntu.com/4493-1/

Scores

CVSS v3 7.8
EPSS 0.0028
EPSS Percentile 51.6%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Details

CWE
CWE-787
Status published
Products (5)
canonical/ubuntu_linux 20.04
cryptsetup_project/cryptsetup 2.2.0
fedoraproject/fedora 31
fedoraproject/fedora 33
redhat/enterprise_linux 8.0
Published Sep 16, 2020
Tracked Since Feb 18, 2026