SCA: security update for tensorflow, tensorflow-cpu, tensorflow-gpu (GHSA-8pmx-p244-g88h)

medium Tenable Cloud Security Plugin ID 412791

Description

There are packages installed that are affected by a vulnerability referenced in the following CVE:

- TensorFlow is an end-to-end open source platform for machine learning. The implementation of
`tf.io.decode_raw` produces incorrect results and crashes the Python interpreter when combining
`fixed_length` and wider datatypes. The implementation of the padded version(https://github.com/tensorflow
/tensorflow/blob/1d8903e5b167ed0432077a3db6e462daf781d1fe/tensorflow/core/kernels/decode_padded_raw_op.cc)
is buggy due to a confusion about pointer arithmetic rules. First, the code computes(https://github.com/te
nsorflow/tensorflow/blob/1d8903e5b167ed0432077a3db6e462daf781d1fe/tensorflow/core/kernels/decode_padded_ra
w_op.cc#L61) the width of each output element by dividing the `fixed_length` value to the size of the type
argument. The `fixed_length` argument is also used to determine the size needed for the output tensor(http
s://github.com/tensorflow/tensorflow/blob/1d8903e5b167ed0432077a3db6e462daf781d1fe/tensorflow/core/kernels
/decode_padded_raw_op.cc#L63-L79). This is followed by reencoding code(https://github.com/tensorflow/tenso
rflow/blob/1d8903e5b167ed0432077a3db6e462daf781d1fe/tensorflow/core/kernels/decode_padded_raw_op.cc#L85-
L94). The erroneous code is the last line above: it is moving the `out_data` pointer by `fixed_length *
sizeof(T)` bytes whereas it only copied at most `fixed_length` bytes from the input. This results in parts
of the input not being decoded into the output. Furthermore, because the pointer advance is far wider than
desired, this quickly leads to writing to outside the bounds of the backing data. This OOB write leads to
interpreter crash in the reproducer mentioned here, but more severe attacks can be mounted too, given that
this gadget allows writing to periodically placed locations in memory. The fix will be included in
TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow
2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range. (CVE-2021-29614)

See Also

https://github.com/advisories/GHSA-8pmx-p244-g88h

Plugin Details

Severity: Medium

ID: 412791

Version: Revision 1.5

Type: Local

Family: SCA Checks

Published: 1/23/2025

Updated: 7/2/2026

Supported Sensors: Tenable Cloud Security, Tenable Self-Hosted Container Security

Risk Information

VPR

Risk Factor: Medium

Score: 4.9

Percentile: 57.12

Vendor

Vendor Severity: Medium

CVSS v2

Risk Factor: Medium

Base Score: 4.6

Temporal Score: 3.6

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

CVSS Score Source: CVE-2021-29614

CVSS v3

Risk Factor: High

Base Score: 7.8

Temporal Score: 7

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

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

CVSS v4

Risk Factor: Medium

Base Score: 6.9

Threat Score: 5.4

Threat Vector: CVSS:4.0/E:P

Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

Vulnerability Information

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 5/21/2021

Vulnerability Publication Date: 5/14/2021

Reference Information

CVE: CVE-2021-29614