p PatchFirst

CVE-2021-37665

CVE-2021-37665 · Incomplete validation in MKL requantization in TensorFlow

This page contains facts from public vulnerability sources. Check the original advisory before updating.

TensorFlow is an end-to-end open source platform for machine learning. In affected versions due to incomplete validation in MKL implementation of requantization, an attacker can trigger undefined behavior via binding a reference to a null pointer or can access data outside the bounds of heap allocated arrays. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mkl/mkl_requantization_range_per_channel_op.cc) does not validate the dimensions of the `input` tensor. A similar issue occurs in `MklRequantizePerChannelOp`. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mkl/mkl_requantize_per_channel_op.cc) does not perform full validation for all the input arguments. We have patched the issue in GitHub commit 9e62869465573cb2d9b5053f1fa02a81fce21d69 and in the Github commit 203214568f5bc237603dbab6e1fd389f1572f5c9. 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.

CVSS 7.8 · High · EPSS 0.2% · Fix available

Published
Updated

Stack: python

Affected products and versions

  • tensorflow

    Versions
    • >= 2.5.0, < 2.5.1: Affected
    • >= 2.4.0, < 2.4.3: Affected
    • < 2.3.4: Affected

    No fix published

  • tensorflow PyPI

    Versions
    • 0.12.0
    • 0.12.1
    • 1.0.0
    • 1.0.1
    • 1.1.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
    • 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
    • 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
    Affected ranges
    • ECOSYSTEM: < 2.3.4

    Update to 2.3.4

  • tensorflow PyPI

    Versions
    • 2.4.0
    • 2.4.1
    • 2.4.2
    Affected ranges
    • ECOSYSTEM: ≥ 2.4.0, < 2.4.3

    Update to 2.4.3

  • tensorflow PyPI

    Versions
    • 2.5.0
    Affected ranges
    • ECOSYSTEM: ≥ 2.5.0, < 2.5.1

    Update to 2.5.1

  • tensorflow-cpu PyPI

    Versions
    • 1.15.0
    • 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
    Affected ranges
    • ECOSYSTEM: < 2.3.4

    Update to 2.3.4

  • tensorflow-cpu PyPI

    Versions
    • 2.4.0
    • 2.4.1
    • 2.4.2
    Affected ranges
    • ECOSYSTEM: ≥ 2.4.0, < 2.4.3

    Update to 2.4.3

  • tensorflow-cpu PyPI

    Versions
    • 2.5.0
    Affected ranges
    • ECOSYSTEM: ≥ 2.5.0, < 2.5.1

    Update to 2.5.1

  • tensorflow-gpu PyPI

    Versions
    • 0.12.0
    • 0.12.1
    • 1.0.0
    • 1.0.1
    • 1.1.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
    • 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
    • 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
    Affected ranges
    • ECOSYSTEM: < 2.3.4

    Update to 2.3.4

  • tensorflow-gpu PyPI

    Versions
    • 2.4.0
    • 2.4.1
    • 2.4.2
    Affected ranges
    • ECOSYSTEM: ≥ 2.4.0, < 2.4.3

    Update to 2.4.3

  • tensorflow-gpu PyPI

    Versions
    • 2.5.0
    Affected ranges
    • ECOSYSTEM: ≥ 2.5.0, < 2.5.1

    Update to 2.5.1

  • tensorflow PyPI

    Versions
    • 2.3.0
    • 2.3.1
    • 2.3.2
    • 2.3.3
    • 2.4.0
    • 2.4.1
    • 2.4.2
    Affected ranges
    • {"events": [{"introduced": "0"}, {"fixed": "9e62869465573cb2d9b5053f1fa02a81fce21d69"}, {"fixed": "203214568f5bc237603dbab6e1fd389f1572f5c9"}], "repo": "https://github.com/tensorflow/tensorflow", "type": "GIT"}
    • ECOSYSTEM: ≥ 2.3.0, < 2.3.4 ∪ ≥ 2.4.0, < 2.4.3

    Update to 2.3.4; Update to 2.4.3

  • tensorflow-cpu PyPI

    Versions
    • 2.3.0
    • 2.3.1
    • 2.3.2
    • 2.3.3
    • 2.4.0
    • 2.4.1
    • 2.4.2
    Affected ranges
    • {"events": [{"introduced": "0"}, {"fixed": "9e62869465573cb2d9b5053f1fa02a81fce21d69"}, {"fixed": "203214568f5bc237603dbab6e1fd389f1572f5c9"}], "repo": "https://github.com/tensorflow/tensorflow", "type": "GIT"}
    • ECOSYSTEM: ≥ 2.3.0, < 2.3.4 ∪ ≥ 2.4.0, < 2.4.3

    Update to 2.3.4; Update to 2.4.3

  • tensorflow-gpu PyPI

    Versions
    • 2.3.0
    • 2.3.1
    • 2.3.2
    • 2.3.3
    • 2.4.0
    • 2.4.1
    • 2.4.2
    Affected ranges
    • {"events": [{"introduced": "0"}, {"fixed": "9e62869465573cb2d9b5053f1fa02a81fce21d69"}, {"fixed": "203214568f5bc237603dbab6e1fd389f1572f5c9"}], "repo": "https://github.com/tensorflow/tensorflow", "type": "GIT"}
    • ECOSYSTEM: ≥ 2.3.0, < 2.3.4 ∪ ≥ 2.4.0, < 2.4.3

    Update to 2.3.4; Update to 2.4.3

Original sources

Check your server →