CVE-2021-37683: TensorFlow GPU Division by Zero Vulnerability

tensorflow-gpu Updated 02 Oct 2025

Summary

12/08/2021
Yes i
Unrated
Not published

CVE-2021-37683: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-gpu across 3 version ranges.

< 1e206baedf8bef0334cca3eb92bab134ef525a28 >= 2.3.0, < 2.3.4 >= 2.4.0, < 2.4.3

Fixed in 2.3.4 or 2.4.3, depending on the release line you run. How to fix ↓

Also tracked for

The same CVE-2021-37683 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

TensorFlow is an end-to-end open source platform for machine learning. It provides a comprehensive ecosystem of tools, libraries, and resources for developing and deploying machine learning models. TensorFlow GPU is a variant of TensorFlow that leverages GPU acceleration for faster computation. It is commonly used in scenarios where large-scale parallel processing is required for training and inference tasks. However, a vulnerability has been discovered in TensorFlow GPU that can lead to a division by zero error.

Vulnerability Detail

The vulnerability in TensorFlow GPU arises from a lack of validation in the division operation implemented in TFLite (TensorFlow Lite). Specifically, the division operation does not check whether the divisor tensor contains zero elements. As a result, if the divisor tensor does contain zero elements, a division by zero error can occur during the execution of TensorFlow GPU. This vulnerability can have severe consequences, including program crashes, incorrect results, and potential security implications if the division operation is used in a security-sensitive context.

How To Fix

Latest published version: 2.12.0 as of 22 Oct 2026

pip install --upgrade "tensorflow-gpu==2.12.0"

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 2.3.0, < 2.3.4 2.3.4
    pip install --upgrade "tensorflow-gpu==2.3.4"
  • >= 2.4.0, < 2.4.3 2.4.3
    pip install --upgrade "tensorflow-gpu==2.4.3"

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

As a workaround, users can manually validate the divisor tensor before performing the division operation. This can be done by checking if the divisor tensor contains any zero elements. If zero elements are found, an alternative approach should be taken to avoid the division by zero error. Here is an example code snippet that demonstrates the workaround:

import tensorflow as tf

def safe_division(a, b):
    zero_elements = tf.math.count_nonzero(b == 0)
    if zero_elements > 0:
        # Handle the case of zero elements in the divisor tensor
        # ... (alternative approach)
    else:
        return tf.divide(a, b)

Conclusion

The division by zero vulnerability in TensorFlow GPU can have serious consequences, including program crashes and incorrect results. It is crucial for users of TensorFlow GPU to update to the patched versions as soon as they become available. Additionally, manual validation of the divisor tensor can serve as a temporary workaround to avoid the division by zero error. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for tensorflow-gpu →

Share this vulnerability

FAQ

TensorFlow is an end-to-end open source platform for machine learning. It provides tools, libraries, and resources for developing and deploying machine learning models.

TensorFlow GPU is a variant of TensorFlow that leverages GPU acceleration for faster computation. It is commonly used in scenarios where large-scale parallel processing is required.

TFLite (TensorFlow Lite) is a lightweight version of TensorFlow designed for mobile and embedded devices. It enables efficient execution of machine learning models on resource-constrained platforms.

A division by zero error occurs when a program attempts to divide a number by zero. This operation is undefined in mathematics and can lead to program crashes or incorrect results.

You can use the Vulert Playground at Vulert Scanner to check if your TensorFlow GPU version is affected by this vulnerability. Simply provide your Pipfile.lock and the playground will analyze it for vulnerabilities in real-time.

Related vulnerabilities

Recent vulnerabilities recorded for tensorflow-gpu.

How To Fix

Latest published version: 2.12.0 as of 22 Oct 2026

pip install --upgrade "tensorflow-gpu==2.12.0"

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 2.3.0, < 2.3.4 2.3.4
    pip install --upgrade "tensorflow-gpu==2.3.4"
  • >= 2.4.0, < 2.4.3 2.4.3
    pip install --upgrade "tensorflow-gpu==2.4.3"

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback