GHSA-f637-vh3r-vfh2

Suggest an improvement
Source
https://github.com/advisories/GHSA-f637-vh3r-vfh2
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/03/GHSA-f637-vh3r-vfh2/GHSA-f637-vh3r-vfh2.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-f637-vh3r-vfh2
Aliases
Related
Published
2023-03-24T21:57:18Z
Modified
2023-12-06T01:02:54.111703Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
TensorFlow has Floating Point Exception in AudioSpectrogram
Details

Impact

version:2.11.0 //core/ops/audio_ops.cc:70

Status SpectrogramShapeFn(InferenceContext* c) { ShapeHandle input; TFRETURNIFERROR(c->WithRank(c->input(0), 2, &input)); int32t windowsize; TFRETURNIFERROR(c->GetAttr("windowsize", &windowsize)); int32t stride; TFRETURNIFERROR(c->GetAttr("stride", &stride)); .....[1]

DimensionHandle inputlength = c->Dim(input, 0); DimensionHandle inputchannels = c->Dim(input, 1);

DimensionHandle outputlength; if (!c->ValueKnown(inputlength)) { outputlength = c->UnknownDim(); } else { const int64t inputlengthvalue = c->Value(inputlength); const int64t lengthminuswindow = (inputlengthvalue - windowsize); int64t outputlengthvalue; if (lengthminuswindow < 0) { outputlengthvalue = 0; } else { outputlengthvalue = 1 + (lengthminuswindow / stride); .....[2] } outputlength = c->MakeDim(outputlength_value); }

Get the value of stride at [1], and the used at [2]

import tensorflow as tf

para = {'input': tf.constant([[14.], [24.]], dtype=tf.float32), 'window_size': 1, 'stride': 0, 'magnitude_squared': False}
func = tf.raw_ops.AudioSpectrogram

@tf.function(jit_compile=True)
def fuzz_jit():
   y = func(**para)
   return y

fuzz_jit()

Patches

We have patched the issue in GitHub commit d0d4e779da0d0f56499c6fa5ba09f0a576cc6b14.

The fix will be included in TensorFlow 2.12.0. We will also cherrypick this commit on TensorFlow 2.11.1

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 r3pwnx

Database specific
{
    "nvd_published_at": "2023-03-25T00:15:00Z",
    "github_reviewed_at": "2023-03-24T21:57:18Z",
    "severity": "HIGH",
    "github_reviewed": true,
    "cwe_ids": [
        "CWE-697"
    ]
}
References

Affected packages

PyPI / tensorflow

Package

Affected ranges

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

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
2.3.4
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.5.0
2.5.1
2.5.2
2.5.3
2.6.0rc0
2.6.0rc1
2.6.0rc2
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5
2.7.0rc0
2.7.0rc1
2.7.0
2.7.1
2.7.2
2.7.3
2.7.4
2.8.0rc0
2.8.0rc1
2.8.0
2.8.1
2.8.2
2.8.3
2.8.4
2.9.0rc0
2.9.0rc1
2.9.0rc2
2.9.0
2.9.1
2.9.2
2.9.3
2.10.0rc0
2.10.0rc1
2.10.0rc2
2.10.0rc3
2.10.0
2.10.1
2.11.0rc0
2.11.0rc1
2.11.0rc2
2.11.0

PyPI / tensorflow-cpu

Package

Affected ranges

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

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
2.3.4
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.5.0
2.5.1
2.5.2
2.5.3
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5
2.7.0
2.7.1
2.7.2
2.7.3
2.7.4
2.8.0
2.8.1
2.8.2
2.8.3
2.8.4
2.9.0rc0
2.9.0rc1
2.9.0rc2
2.9.0
2.9.1
2.9.2
2.9.3
2.10.0rc0
2.10.0rc1
2.10.0rc2
2.10.0rc3
2.10.0
2.10.1
2.11.0rc0
2.11.0rc1
2.11.0rc2
2.11.0

PyPI / tensorflow-gpu

Package

Affected ranges

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

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
2.3.4
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.5.0
2.5.1
2.5.2
2.5.3
2.6.0
2.6.1
2.6.2
2.6.3
2.6.4
2.6.5
2.7.0rc0
2.7.0rc1
2.7.0
2.7.1
2.7.2
2.7.3
2.7.4
2.8.0rc0
2.8.0rc1
2.8.0
2.8.1
2.8.2
2.8.3
2.8.4
2.9.0rc0
2.9.0rc1
2.9.0rc2
2.9.0
2.9.1
2.9.2
2.9.3
2.10.0rc0
2.10.0rc1
2.10.0rc2
2.10.0rc3
2.10.0
2.10.1
2.11.0rc0
2.11.0rc1
2.11.0rc2
2.11.0