Skip to content

← Public intelligence

PyPI package

tensorflow-gpu

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

427 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Low, CVSS 2.0PyPIAmendedPublished

    Heap out of bounds in QuantizedBatchNormWithGlobalNormalization

    CVE-2021-29547 · GHSA-4fg4-p75j-w5xj

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a segfault and denial of service via accessing data outside of bounds in tf.rawops.QuantizedBatchNormWithGlobalNormalization: This is because the implementation assumes the inputs are not empty: If any of these inputs is empty, .flat<T() is an empty buffer, so accessing the element at index 0 is accessing data outside of bounds. Patches We have patched the issue in GitHub commit d6ed5bcfe1dcab9e85a4d39931bd18d99018e75b. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  2. Low, CVSS 2.0PyPIAmendedPublished

    Division by 0 in QuantizedBiasAdd

    CVE-2021-29546 · GHSA-m34j-p8rj-wjxq

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger an integer division by zero undefined behavior in tf.rawops.QuantizedBiasAdd: This is because the implementation of the Eigen kernel does a division by the number of elements of the smaller input (based on shape) without checking that this is not zero: This integral division by 0 is undefined behavior. Patches We have patched the issue in GitHub commit 67784700869470d65d5f2ef20aeb5e97c31673cb. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  3. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow in SparseTensorToCSRSparseMatrix

    CVE-2021-29545 · GHSA-hmg3-c7xj-6qwm

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK-fail in converting sparse tensors to CSR Sparse matrices: This is because the implementation does a double redirection to access an element of an array allocated on the heap: If the value at indices(i, 0) is such that indices(i, 0) + 1 is outside the bounds of csrrowptr, this results in writing outside of bounds of heap allocated data. Patches We have patched the issue in GitHub commit 1e922ccdf6bf46a3a52641f99fd47d54c1decd13. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  4. Low, CVSS 2.0PyPIAmendedPublished

    CHECK-fail in QuantizeAndDequantizeV4Grad

    CVE-2021-29544 · GHSA-6g85-3hm8-83f9

    Affected
    • PyPI tensorflow-gpu >= 2.4.0, < 2.4.2
    Fixed in
    2.4.2· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK-fail in tf.rawops.QuantizeAndDequantizeV4Grad: This is because the implementation does not validate the rank of the input tensors. In turn, this results in the tensors being passes as they are to QuantizeAndDequantizePerChannelGradientImpl: However, the vec<T method, requires the rank to 1 and triggers a CHECK failure otherwise. Patches We have patched the issue in GitHub commit 20431e9044cf2ad3c0323c34888b192f3289af6b. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 as this is the only other affected version. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  5. Low, CVSS 2.0PyPIAmendedPublished

    CHECK-fail in CTCGreedyDecoder

    CVE-2021-29543 · GHSA-fphq-gw9m-ghrv

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK-fail in tf.rawops.CTCGreedyDecoder: This is because the implementation has a CHECKLT inserted to validate some invariants. When this condition is false, the program aborts, instead of returning a valid error to the user. This abnormal termination can be weaponized in denial of service attacks. Patches We have patched the issue in GitHub commit ea3b43e98c32c97b35d52b4c66f9107452ca8fb2. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  6. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow in StringNGrams

    CVE-2021-29542 · GHSA-4hrh-9vmp-2jgg

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a heap buffer overflow by passing crafted inputs to tf.rawops.StringNGrams: This is because the implementation fails to consider corner cases where input would be split in such a way that the generated tokens should only contain padding elements: If input is such that numtokens is 0, then, for datastartindex=0 (when left padding is present), the marked line would result in reading data[-1]. Patches We have patched the issue in GitHub commit ba424dd8f16f7110eea526a8086f1a155f14f22b. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  7. Low, CVSS 2.0PyPIAmendedPublished

    Null pointer dereference in StringNGrams

    CVE-2021-29541 · GHSA-xqfj-35wv-m3cr

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a dereference of a null pointer in tf.rawops.StringNGrams: This is because the implementation does not fully validate the datasplits argument. This would result in ngramsdata to be a null pointer when the output would be computed to have 0 or negative size. Later writes to the output tensor would then cause a null pointer dereference. Patches We have patched the issue in GitHub commit ba424dd8f16f7110eea526a8086f1a155f14f22b. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  8. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow in Conv2DBackpropFilter

    CVE-2021-29540 · GHSA-xgc3-m89p-vr3x

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a heap buffer overflow to occur in Conv2DBackpropFilter: Alternatively, passing empty tensors also results in similar behavior: This is because the implementation computes the size of the filter tensor but does not validate that it matches the number of elements in filtersizes. Later, when reading/writing to this buffer, code uses the value computed here, instead of the number of elements in the tensor. Patches We have patched the issue in GitHub commit c570e2ecfc822941335ad48f6e10df4e21f11c96. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  9. Low, CVSS 2.0PyPIAmendedPublished

    Segfault in tf.raw_ops.ImmutableConst

    CVE-2021-29539 · GHSA-g4h2-gqm3-c9wq

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact Calling tf.rawops.ImmutableConst with a dtype of tf.resource or tf.variant results in a segfault in the implementation as code assumes that the tensor contents are pure scalars. Patches We have patched the issue in 4f663d4b8f0bec1b48da6fa091a7d29609980fa4 and will release TensorFlow 2.5.0 containing the patch. TensorFlow nightly packages after this commit will also have the issue resolved. Workarounds If using tf.rawops.ImmutableConst in code, you can prevent the segfault by inserting a filter for the dtype argument. For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  10. Low, CVSS 2.0PyPIAmendedPublished

    Division by zero in Conv2DBackpropFilter

    CVE-2021-29538 · GHSA-j8qc-5fqr-52fp

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a division by zero to occur in Conv2DBackpropFilter: This is because the implementation computes a divisor based on user provided data (i.e., the shape of the tensors given as arguments): If all shapes are empty then workunitsize is 0. Since there is no check for this case before division, this results in a runtime exception, with potential to be abused for a denial of service. Patches We have patched the issue in GitHub commit c570e2ecfc822941335ad48f6e10df4e21f11c96. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  11. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow in QuantizedResizeBilinear

    CVE-2021-29537 · GHSA-8c89-2vwr-chcq

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a heap buffer overflow in QuantizedResizeBilinear by passing in invalid thresholds for the quantization: This is because the implementation assumes that the 2 arguments are always valid scalars and tries to access the numeric value directly: However, if any of these tensors is empty, then .flat<T() is an empty buffer and accessing the element at position 0 results in overflow. Patches We have patched the issue in GitHub commit f6c40f0c6cbf00d46c7717a26419f2062f2f8694. 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. 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 Ying Wang and Yakun Zhang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  12. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow in QuantizedReshape

    CVE-2021-29536 · GHSA-2gfx-95x2-5v3x

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a heap buffer overflow in QuantizedReshape by passing in invalid thresholds for the quantization: This is because the implementation assumes that the 2 arguments are always valid scalars and tries to access the numeric value directly: However, if any of these tensors is empty, then .flat<T() is an empty buffer and accessing the element at position 0 results in overflow. Patches We have patched the issue in GitHub commit a324ac84e573fba362a5e53d4e74d5de6729933e. 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. 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 Ying Wang and Yakun Zhang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  13. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow in QuantizedMul

    CVE-2021-29535 · GHSA-m3f9-w3p3-p669

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can cause a heap buffer overflow in QuantizedMul by passing in invalid thresholds for the quantization: This is because the implementation assumes that the 4 arguments are always valid scalars and tries to access the numeric value directly: However, if any of these tensors is empty, then .flat<T() is an empty buffer and accessing the element at position 0 results in overflow. Patches We have patched the issue in GitHub commit efea03b38fb8d3b81762237dc85e579cc5fc6e87. 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. 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 Ying Wang and Yakun Zhang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  14. Low, CVSS 2.0PyPIAmendedPublished

    CHECK-fail in SparseConcat

    CVE-2021-29534 · GHSA-6j9c-grc6-5m6g

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK-fail in tf.rawops.SparseConcat: This is because the implementation takes the values specified in shapes[0] as dimensions for the output shape: The TensorShape constructor uses a CHECK operation which triggers when InitDims returns a non-OK status. In our scenario, this occurs when adding a dimension from the argument results in overflow: This is a legacy implementation of the constructor and operations should use BuildTensorShapeBase or AddDimWithStatus to prevent CHECK-failures in the presence of overflows. Patches We have patched the issue in GitHub commit 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c. 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. For more information Please consult our security guide for more information regarding the security model and…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  15. Low, CVSS 2.0PyPIAmendedPublished

    CHECK-fail in DrawBoundingBoxes

    CVE-2021-29533 · GHSA-393f-2jr3-cp69

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK failure by passing an empty image to tf.rawops.DrawBoundingBoxes: This is because the implementation uses CHECK assertions instead of OPREQUIRES to validate user controlled inputs. Whereas OPREQUIRES allows returning an error condition back to the user, the CHECK macros result in a crash if the condition is false, similar to assert. In this case, height is 0 from the images input. This results in maxboxrowclamp being negative and the assertion being falsified, followed by aborting program execution. Patches We have patched the issue in GitHub commit b432a38fe0e1b4b904a6c222cbce794c39703e87. 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. For more information Please consult our security guide for more information regarding the security model and how to…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  16. Low, CVSS 2.0PyPIAmendedPublished

    Heap out of bounds read in RaggedCross

    CVE-2021-29532 · GHSA-j47f-4232-hvv8

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can force accesses outside the bounds of heap allocated arrays by passing in invalid tensor values to tf.rawops.RaggedCross: This is because the implementation lacks validation for the user supplied arguments: Each of the above branches call a helper function after accessing array elements via a list[next] pattern, followed by incrementing the next index. However, as there is no validation that the next values are in the valid range for the corresponding list arrays, this results in heap OOB reads. Patches We have patched the issue in GitHub commit 44b7f486c0143f68b56c34e2d01e146ee445134a. 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. 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…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  17. Low, CVSS 2.0PyPIAmendedPublished

    CHECK-fail in tf.raw_ops.EncodePng

    CVE-2021-29531 · GHSA-3qxp-qjq7-w4hf

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a CHECK fail in PNG encoding by providing an empty input tensor as the pixel data: This is because the implementation only validates that the total number of pixels in the image does not overflow. Thus, an attacker can send an empty matrix for encoding. However, if the tensor is empty, then the associated buffer is nullptr. Hence, when calling png::WriteImageToBuffer, the first argument (i.e., image.flat<T().data()) is NULL. This then triggers the CHECKNOTNULL in the first line of png::WriteImageToBuffer. Since image is null, this results in abort being called after printing the stacktrace. Effectively, this allows an attacker to mount a denial of service attack. Patches We have patched the issue in GitHub commit 26eb323554ffccd173e8a79a8c05c15b685ae4d1. 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…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  18. Low, CVSS 2.0PyPIAmendedPublished

    Invalid validation in SparseMatrixSparseCholesky

    CVE-2021-29530 · GHSA-xcwj-wfcm-m23c

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a null pointer dereference by providing an invalid permutation to tf.rawops.SparseMatrixSparseCholesky: This is because the implementation fails to properly validate the input arguments: Although ValidateInputs is called and there are checks in the body of this function, the code proceeds to the next line in ValidateInputs since OPREQUIRES is a macro that only exits the current function. Thus, the first validation condition that fails in ValidateInputs will cause an early return from that function. However, the caller will continue execution from the next line. The fix is to either explicitly check context-status() or to convert ValidateInputs to return a Status. Patches We have patched the issue in GitHub commit e6a7c7cc18c3aaad1ae0872cb0a959f5c923d2bd. 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…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  19. Low, CVSS 2.0PyPIAmendedPublished

    Heap buffer overflow caused by rounding

    CVE-2021-29529 · GHSA-jfp7-4j67-8r3q

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a heap buffer overflow in tf.rawops.QuantizedResizeBilinear by manipulating input values so that float rounding results in off-by-one error in accessing image elements: This is because the implementation computes two integers (representing the upper and lower bounds for interpolation) by ceiling and flooring a floating point value: For some values of in, interpolation-upper[i] might be smaller than interpolation-lower[i]. This is an issue if interpolation-upper[i] is capped at insize-1 as it means that interpolation-lower[i] points outside of the image. Then, in the interpolation code, this would result in heap buffer overflow: For the other cases where interpolation-upper[i] is smaller than interpolation-lower[i], we can set them to be equal without affecting the output. Patches We have patched the issue in GitHub commit f851613f8f0fb0c838d160ced13c134f778e3ce7. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  20. Low, CVSS 2.0PyPIAmendedPublished

    Division by 0 in QuantizedMul

    CVE-2021-29528 · GHSA-6f84-42vf-ppwp

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a division by 0 in tf.rawops.QuantizedMul: This is because the implementation does a division by a quantity that is controlled by the caller: Patches We have patched the issue in GitHub commit a1b11d2fdd1e51bfe18bb1ede804f60abfa92da6. 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. 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 Ying Wang and Yakun Zhang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  21. Low, CVSS 2.0PyPIAmendedPublished

    Division by 0 in QuantizedConv2D

    CVE-2021-29527 · GHSA-x4g7-fvjj-prg8

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a division by 0 in tf.rawops.QuantizedConv2D: This is because the implementation does a division by a quantity that is controlled by the caller: Patches We have patched the issue in GitHub commit cfa91be9863a91d5105a3b4941096044ab32036b. 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. 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 Ying Wang and Yakun Zhang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  22. Low, CVSS 2.0PyPIAmendedPublished

    Division by 0 in Conv2D

    CVE-2021-29526 · GHSA-4vf2-4xcg-65cx

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a division by 0 in tf.rawops.Conv2D: This is because the implementation does a division by a quantity that is controlled by the caller: Patches We have patched the issue in GitHub commit b12aa1d44352de21d1a6faaf04172d8c2508b42b. 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. 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 Ying Wang and Yakun Zhang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  23. Low, CVSS 2.0PyPIAmendedPublished

    Division by 0 in Conv2DBackpropInput

    CVE-2021-29525 · GHSA-xm2v-8rrw-w9pm

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a division by 0 in tf.rawops.Conv2DBackpropInput: This is because the implementation does a division by a quantity that is controlled by the caller: Patches We have patched the issue in GitHub commit 2be2cdf3a123e231b16f766aa0e27d56b4606535. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  24. Low, CVSS 2.0PyPIAmendedPublished

    Division by 0 in Conv2DBackpropFilter

    CVE-2021-29524 · GHSA-r4pj-74mg-8868

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a division by 0 in tf.rawops.Conv2DBackpropFilter: This is because the implementation does a modulus operation where the divisor is controlled by the caller: Patches We have patched the issue in GitHub commit fca9874a9b42a2134f907d2fb46ab774a831404a. 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. 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 Yakun Zhang and Ying Wang of Baidu X-Team.

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  25. Low, CVSS 2.0PyPIAmendedPublished

    CHECK-fail in AddManySparseToTensorsMap

    CVE-2021-29523 · GHSA-2cpx-427x-q2c6

    Affected
    • PyPI tensorflow-gpu < 2.1.4; >= 2.2.0, < 2.2.3; >= 2.3.0, < 2.3.3; >= 2.4.0, < 2.4.2
    Fixed in
    2.4.22.3.32.2.32.1.4· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK-fail in tf.rawops.AddManySparseToTensorsMap: This is because the implementation takes the values specified in sparseshape as dimensions for the output shape: The TensorShape constructor uses a CHECK operation which triggers when InitDims returns a non-OK status. In our scenario, this occurs when adding a dimension from the argument results in overflow: This is a legacy implementation of the constructor and operations should use BuildTensorShapeBase or AddDimWithStatus to prevent CHECK-failures in the presence of overflows. Patches We have patched the issue in GitHub commit 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c. 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. For more information Please consult our security guide for more information regarding the…

    Recommended action: Upgrade to 2.4.2, 2.3.3, 2.2.3 or 2.1.4 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →