CVE-2021-29586

Source
https://cve.org/CVERecord?id=CVE-2021-29586
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-29586.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-29586
Aliases
Related
Published
2021-05-14T20:15:14.627Z
Modified
2026-04-11T17:12:57.169671Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
[none]
Details

TensorFlow is an end-to-end open source platform for machine learning. Optimized pooling implementations in TFLite fail to check that the stride arguments are not 0 before calling ComputePaddingHeightWidth(https://github.com/tensorflow/tensorflow/blob/3f24ccd932546416ec906a02ddd183b48a1d2c83/tensorflow/lite/kernels/pooling.cc#L90). Since users can craft special models which will have params->stride_{height,width} be zero, this will result in a division by zero. 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.

References

Affected packages

Git / github.com/tensorflow/tensorflow

Affected ranges

Type
GIT
Repo
https://github.com/tensorflow/tensorflow
Events
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "fixed": "2.1.4"
        },
        {
            "introduced": "2.2.0"
        },
        {
            "fixed": "2.2.3"
        },
        {
            "introduced": "2.3.0"
        },
        {
            "fixed": "2.3.3"
        },
        {
            "introduced": "2.4.0"
        },
        {
            "fixed": "2.4.2"
        }
    ]
}

Affected versions

0.*
0.5.0
0.6.0
v1.*
v1.1.0-rc1
v1.1.0-rc2
v1.12.1
v1.6.0-rc1
v1.9.0-rc2
v2.*
v2.1.0
v2.1.0-rc0
v2.1.0-rc1
v2.1.0-rc2
v2.1.1
v2.1.2
v2.1.3
v2.2.0
v2.2.1
v2.2.2
v2.3.0
v2.3.1
v2.3.2
v2.4.0
v2.4.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-29586.json"
vanir_signatures
[
    {
        "digest": {
            "length": 1454.0,
            "function_hash": "283060470886203851125371196141478055345"
        },
        "id": "CVE-2021-29586-4ca74b89",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "source": "https://github.com/tensorflow/tensorflow/commit/5f7975d09eac0f10ed8a17dbb6f5964977725adc",
        "target": {
            "function": "GenericPrepare",
            "file": "tensorflow/lite/kernels/pooling.cc"
        }
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "4731025427670638839209093575887031962",
                "117862536022510627690800560996392359958"
            ]
        },
        "id": "CVE-2021-29586-a206dbbd",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://github.com/tensorflow/tensorflow/commit/5f7975d09eac0f10ed8a17dbb6f5964977725adc",
        "target": {
            "file": "tensorflow/lite/kernels/pooling_test.cc"
        }
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "302130529263366201488455345152689635371",
                "208530805399280600581508218046795576722",
                "74211441666737738418293061517455628863"
            ]
        },
        "id": "CVE-2021-29586-edb42f94",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "source": "https://github.com/tensorflow/tensorflow/commit/5f7975d09eac0f10ed8a17dbb6f5964977725adc",
        "target": {
            "file": "tensorflow/lite/kernels/pooling.cc"
        }
    }
]
vanir_signatures_modified
"2026-04-11T17:12:57Z"