GLSA-202210-31 : OpenEXR: Multiple Vulnerabilities

high Nessus Plugin ID 166712

Description

The remote host is affected by the vulnerability described in GLSA-202210-31 (OpenEXR: Multiple Vulnerabilities)

- A flaw was found in OpenEXR's hufDecode functionality. This flaw allows an attacker who can pass a crafted file to be processed by OpenEXR, to trigger an undefined right shift error. The highest threat from this vulnerability is to system availability. (CVE-2021-20304)

- A heap-buffer overflow was found in the copyIntoFrameBuffer function of OpenEXR in versions before 3.0.1.
An attacker could use this flaw to execute arbitrary code with the permissions of the user running the application compiled against OpenEXR. (CVE-2021-23169)

- There's a flaw in OpenEXR's ImfDeepScanLineInputFile functionality in versions prior to 3.0.5. An attacker who is able to submit a crafted file to an application linked with OpenEXR could cause an out-of-bounds read. The greatest risk from this flaw is to application availability. (CVE-2021-3598)

- There's a flaw in OpenEXR's rleUncompress functionality in versions prior to 3.0.5. An attacker who is able to submit a crafted file to an application linked with OpenEXR could cause an out-of-bounds read. The greatest risk from this flaw is to application availability. (CVE-2021-3605)

- An integer overflow could occur when OpenEXR processes a crafted file on systems where size_t < 64 bits.
This could cause an invalid bytesPerLine and maxBytesPerLine value, which could lead to problems with application stability or lead to other attack paths. (CVE-2021-3933)

- In ImfChromaticities.cpp routine RGBtoXYZ(), there are some division operations such as `float Z = (1 - chroma.white.x - chroma.white.y) * Y / chroma.white.y;` and `chroma.green.y * (X + Z))) / d;` but the divisor is not checked for a 0 value. A specially crafted file could trigger a divide-by-zero condition which could affect the availability of programs linked with OpenEXR. (CVE-2021-3941)

- OpenEXR 3.1.x before 3.1.4 has a heap-based buffer overflow in Imf_3_1::LineCompositeTask::execute (called from IlmThread_3_1::NullThreadPoolProvider::addTask and IlmThread_3_1::ThreadPool::addGlobalTask). NOTE:
db217f2 may be inapplicable. (CVE-2021-45942)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

All OpenEXR users should upgrade to the latest version:

# emerge --sync # emerge --ask --oneshot --verbose >=media-libs/openexr-3.1.5

See Also

https://security.gentoo.org/glsa/202210-31

https://bugs.gentoo.org/show_bug.cgi?id=787452

https://bugs.gentoo.org/show_bug.cgi?id=801373

https://bugs.gentoo.org/show_bug.cgi?id=810541

https://bugs.gentoo.org/show_bug.cgi?id=817431

https://bugs.gentoo.org/show_bug.cgi?id=830384

https://bugs.gentoo.org/show_bug.cgi?id=838079

Plugin Details

Severity: High

ID: 166712

File Name: gentoo_GLSA-202210-31.nasl

Version: 1.3

Type: local

Published: 10/31/2022

Updated: 10/6/2023

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 5.9

CVSS v2

Risk Factor: Medium

Base Score: 6.8

Temporal Score: 5.3

Vector: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P

CVSS Score Source: CVE-2021-23169

CVSS v3

Risk Factor: High

Base Score: 8.8

Temporal Score: 7.9

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:P/RL:O/RC:C

Vulnerability Information

CPE: p-cpe:/a:gentoo:linux:openexr, cpe:/o:gentoo:linux

Required KB Items: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 10/31/2022

Vulnerability Publication Date: 6/8/2021

Reference Information

CVE: CVE-2021-20304, CVE-2021-23169, CVE-2021-3598, CVE-2021-3605, CVE-2021-3933, CVE-2021-3941, CVE-2021-45942