Out-of-bounds Write Affecting cryptsetup/cryptsetup package, versions [0,2.3.4)


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
1.16% (63rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Out-of-bounds Write vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-UNMANAGED-CRYPTSETUPCRYPTSETUP-2374187
  • published26 Jan 2022
  • disclosed16 Sept 2020
  • creditUnknown

Introduced: 16 Sep 2020

CVE-2020-14382  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade cryptsetup/cryptsetup to version 2.3.4 or higher.

Overview

Affected versions of this package are vulnerable to Out-of-bounds Write. 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.

CVSS Base Scores

version 3.1