CVE-2021-29514

Source
https://cve.org/CVERecord?id=CVE-2021-29514
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-29514.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-29514
Aliases
Related
Published
2021-05-14T20:15:11.247Z
Modified
2026-02-04T21:34:50.813524Z
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. If the splits argument of RaggedBincount does not specify a valid SparseTensor(https://www.tensorflow.org/apidocs/python/tf/sparse/SparseTensor), then an attacker can trigger a heap buffer overflow. This will cause a read from outside the bounds of the splits tensor buffer in the implementation of the RaggedBincount op(https://github.com/tensorflow/tensorflow/blob/8b677d79167799f71c42fd3fa074476e0295413a/tensorflow/core/kernels/bincountop.cc#L430-L446). Before the for loop, batch_idx is set to 0. The attacker sets splits(0) to be 7, hence the while loop does not execute and batch_idx remains 0. This then results in writing to out(-1, bin), which is before the heap allocated buffer for the output tensor. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 and TensorFlow 2.3.3, as these are also affected.

References

Affected packages

Git / github.com/tensorflow/tensorflow

Database specific

vanir_signatures
[
    {
        "target": {
            "file": "tensorflow/core/kernels/bincount_op.cc"
        },
        "id": "CVE-2021-29514-e78c135e",
        "source": "https://github.com/tensorflow/tensorflow/commit/eebb96c2830d48597d055d247c0e9aebaea94cd5",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "50071248545797929442961525939004416823",
                "313533363499102381398855757400300590347",
                "34732738541755971658578122202906975538"
            ]
        },
        "signature_version": "v1",
        "deprecated": false,
        "signature_type": "Line"
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-29514.json"