Skip to content

← Public intelligence

PyPI package

tensorflow

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

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

  1. Medium, CVSS 6.9PyPIAmendedPublished

    Reference binding to nullptr in MatrixSetDiagV* ops

    CVE-2021-37658 · GHSA-6p5r-g9mq-ggh2

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause undefined behavior via binding a reference to null pointer in all operations of type tf.rawops.MatrixSetDiagV: The implementation has incomplete validation that the value of k is a valid tensor. We have check that this value is either a scalar or a vector, but there is no check for the number of elements. If this is an empty tensor, then code that accesses the first element of the tensor is wrong: Patches We have patched the issue in GitHub commit ff8894044dfae5568ecbf2ed514c1a37dc394f1b. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 7.0PyPIAmendedPublished

    Reference binding to nullptr and heap OOB in binary cwise ops

    CVE-2021-37659 · GHSA-q3g3-h9r4-prrc

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause undefined behavior via binding a reference to null pointer in all binary cwise operations that don't require broadcasting (e.g., gradients of binary cwise operations): The implementation assumes that the two inputs have exactly the same number of elements but does not check that. Hence, when the eigen functor executes it triggers heap OOB reads and undefined behavior due to binding to nullptr. Patches We have patched the issue in GitHub commit 93f428fd1768df147171ed674fee1fc5ab8309ec. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Division by 0 in inplace operations

    CVE-2021-37660 · GHSA-cm5x-837x-jf3c

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause a floating point exception by calling inplace operations with crafted arguments that would result in a division by 0: The implementation has a logic error: it should skip processing if x and v are empty but the code uses || instead of &&. Patches We have patched the issue in GitHub commit e86605c0a336c088b638da02135ea6f9f6753618. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Crash caused by integer conversion to unsigned

    CVE-2021-37661 · GHSA-gf88-j2mg-cc82

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause a denial of service in boostedtreescreatequantilestreamresource by using negative arguments: The implementation does not validate that numstreams only contains non-negative numbers. In turn, this results in using this value to allocate memory: However, reserve receives an unsigned integer so there is an implicit conversion from a negative value to a large positive unsigned. This results in a crash from the standard library. Patches We have patched the issue in GitHub commit 8a84f7a2b5a2b27ecf88d25bad9ac777cd2f7992. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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 →
  5. Medium, CVSS 6.9PyPIAmendedPublished

    Reference binding to nullptr in boosted trees

    CVE-2021-37662 · GHSA-f5cx-5wr3-5qrc

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can generate undefined behavior via a reference binding to nullptr in BoostedTreesCalculateBestGainsPerFeature: A similar attack can occur in BoostedTreesCalculateBestFeatureSplitV2: The implementation does not validate the input values. Patches We have patched the issue in GitHub commit 9c87c32c710d0b5b53dc6fd3bfde4046e1f7a5ad and in commit. 429f009d2b2c09028647dd4bb7b3f6f414bbaad7. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Incomplete validation in QuantizeV2

    CVE-2021-37663 · GHSA-g25h-jr74-qp5j

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact Due to incomplete validation in tf.rawops.QuantizeV2, 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 has some validation but does not check that minrange and maxrange both have the same non-zero number of elements. If axis is provided (i.e., not -1), then validation should check that it is a value in range for the rank of input tensor and then the lengths of minrange and maxrange inputs match the axis dimension of the input tensor. Patches We have patched the issue in GitHub commit 6da6620efad397c85493b8f8667b821403516708. 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. For more information Please consult our security guide for more information regarding the security model and how to contact us with issues…

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 7.0PyPIAmendedPublished

    Heap OOB in boosted trees

    CVE-2021-37664 · GHSA-r4c4-5fpq-56wg

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to BoostedTreesSparseCalculateBestFeatureSplit: The implementation needs to validate that each value in statssummaryindices is in range. Patches We have patched the issue in GitHub commit e84c975313e8e8e38bb2ea118196369c45c51378. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Incomplete validation in MKL requantization

    CVE-2021-37665 · GHSA-v82p-hv3v-p6qp

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact 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 does not validate the dimensions of the input tensor. A similar issue occurs in MklRequantizePerChannelOp: The implementation does not perform full validation for all the input arguments. Patches 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. 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…

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Reference binding to nullptr in RaggedTensorToVariant

    CVE-2021-37666 · GHSA-w4xf-2pqw-5mq7

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause undefined behavior via binding a reference to null pointer in tf.rawops.RaggedTensorToVariant: The implementation has an incomplete validation of the splits values, missing the case when the argument would be empty. Patches We have patched the issue in GitHub commit be7a4de6adfbd303ce08be4332554dff70362612. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Reference binding to nullptr in unicode encoding

    CVE-2021-37667 · GHSA-w74j-v8xh-3w5h

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause undefined behavior via binding a reference to null pointer in tf.rawops.UnicodeEncode: The implementation reads the first dimension of the inputsplits tensor before validating that this tensor is not empty: Patches We have patched the issue in GitHub commit 2e0ee46f1a47675152d3d865797a18358881d7a6. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    FPE in tf.raw_ops.UnravelIndex

    CVE-2021-37668 · GHSA-2wmv-37vq-52g5

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause denial of service in applications serving models using tf.rawops.UnravelIndex by triggering a division by 0: The implementation does not check that the tensor subsumed by dims is not empty. Hence, if one element of dims is 0, the implementation does a division by 0. Patches We have patched the issue in GitHub commit a776040a5e7ebf76eeb7eb923bf1ae417dd4d233. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Crash in NMS ops caused by integer conversion to unsigned

    CVE-2021-37669 · GHSA-vmjw-c2vp-p33c

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause denial of service in applications serving models using tf.rawops.NonMaxSuppressionV5 by triggering a division by 0: The implementation uses a user controlled argument to resize a std::vector: However, as std::vector::resize takes the size argument as a sizet and outputsize is an int, there is an implicit conversion to usigned. If the attacker supplies a negative value, this conversion results in a crash. A similar issue occurs in CombinedNonMaxSuppression: Patches We have patched the issue in GitHub commit 3a7362750d5c372420aa8f0caf7bf5b5c3d0f52d and commit b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58. 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. 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.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Heap OOB in UpperBound and LowerBound

    CVE-2021-37670 · GHSA-9697-98pf-4rw7

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to tf.rawops.UpperBound: The implementation does not validate the rank of sortedinput argument: As we access the first two dimensions of sortedinputst tensor, it must have rank at least 2. A similar issue occurs in tf.rawops.LowerBound. Patches We have patched the issue in GitHub commit 42459e4273c2e47a3232cc16c4f4fff3b3a35c38. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Reference binding to nullptr in map operations

    CVE-2021-37671 · GHSA-qr82-2c78-4m8h

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause undefined behavior via binding a reference to null pointer in tf.rawops.Map and tf.rawops.OrderedMap operations: The implementation has a check in place to ensure that indices is in ascending order, but does not check that indices is not empty. Patches We have patched the issue in GitHub commit 532f5c5a547126c634fefd43bbad1dc6417678ac. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Heap OOB in SdcaOptimizerV2

    CVE-2021-37672 · GHSA-5hj3-vjjf-f5m7

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to tf.rawops.SdcaOptimizerV2: The implementation does not check that the length of examplelabels is the same as the number of examples. Patches We have patched the issue in GitHub commit a4e138660270e7599793fa438cd7b2fc2ce215a6. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    CHECK-fail in MapStage

    CVE-2021-37673 · GHSA-278g-rq84-9hmg

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a CHECK-fail in tf.rawops.MapStage: The implementation does not check that the key input is a valid non-empty tensor. Patches We have patched the issue in GitHub commit d7de67733925de196ec8863a33445b73f9562d1d. 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. 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.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Incomplete validation in MaxPoolGrad

    CVE-2021-37674 · GHSA-7ghq-fvr3-pj2x

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can trigger a denial of service via a segmentation fault in tf.rawops.MaxPoolGrad caused by missing validation: The implementation misses some validation for the originput and origoutput tensors. The fixes for CVE-2021-29579 were incomplete. Patches We have patched the issue in GitHub commit 136b51f10903e044308cf77117c0ed9871350475. 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. 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 of Baidu Security.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Division by 0 in most convolution operators

    CVE-2021-37675 · GHSA-9c8h-2mv3-49ww

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact Most implementations of convolution operators in TensorFlow are affected by a division by 0 vulnerability where an attacker can trigger a denial of service via a crash: The shape inference implementation is missing several validations before doing divisions and modulo operations. Patches We have patched the issue in GitHub commit 8a793b5d7f59e37ac7f3cd0954a750a2fe76bad4. 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. 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 of Baidu Security.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Reference binding to nullptr in shape inference

    CVE-2021-37676 · GHSA-v768-w7m9-2vmm

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact An attacker can cause undefined behavior via binding a reference to null pointer in tf.rawops.SparseFillEmptyRows: The shape inference implementation does not validate that the input arguments are not empty tensors. Patches We have patched the issue in GitHub commit 578e634b4f1c1c684d4b4294f9e5281b2133b3ed. 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. 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 of Baidu Security

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Missing validation in shape inference for Dequantize

    CVE-2021-37677 · GHSA-qfpc-5pjr-mh26

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact The shape inference code for tf.rawops.Dequantize has a vulnerability that could trigger a denial of service via a segfault if an attacker provides invalid arguments: The shape inference implementation uses axis to select between two different values for minmaxrank which is then used to retrieve tensor dimensions. However, code assumes that axis can be either -1 or a value greater than -1, with no validation for the other values. Patches We have patched the issue in GitHub commit da857cfa0fde8f79ad0afdbc94e88b5d4bbec764. 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. 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 of Baidu Security.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    Arbitrary code execution due to YAML deserialization

    CVE-2021-37678 · GHSA-r6jx-9g48-2r5r

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact TensorFlow and Keras can be tricked to perform arbitrary code execution when deserializing a Keras model from YAML format. The implementation uses yaml.unsafeload which can perform arbitrary code execution on the input. Patches Given that YAML format support requires a significant amount of work, we have removed it for now. We have patched the issue in GitHub commit 23d6383eb6c14084a8fc3bdf164043b974818012. 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. 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 Arjun Shibu.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.4PyPIAmendedPublished

    Heap OOB in nested tf.map_fn with RaggedTensors

    CVE-2021-37679 · GHSA-g8wg-cjwc-xhhp

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact It is possible to nest a tf.mapfn within another tf.mapfn call. However, if the input tensor is a RaggedTensor and there is no function signature provided, code assumes the output is a fully specified tensor and fills output buffer with uninitialized contents from the heap: The t and z outputs should be identical, however this is not the case. The last row of t contains data from the heap which can be used to leak other memory information. The bug lies in the conversion from a Variant tensor to a RaggedTensor. The implementation does not check that all inner shapes match and this results in the additional dimensions in the above example. The same implementation can result in data loss, if input tensor is tweaked: Here, the output tensor will only have 2 elements for each inner dimension. Patches We have patched the issue in GitHub commit 4e2565483d0ffcadc719bd44893fb7f609bb5f12. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow…

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 6.8PyPIAmendedPublished

    Division by zero in TFLite

    CVE-2021-37680 · GHSA-cfpj-3q4c-jhvr

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact The implementation of fully connected layers in TFLite is vulnerable to a division by zero error: An attacker can craft a model such that filter-dims-data[1] is 0. Patches We have patched the issue in GitHub commit 718721986aa137691ee23f03638867151f74935f. 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. 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 members of the Aivul Team from Qihoo 360. Concurrently, it has also been reported by Yakun Zhang of Baidu Security.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. High, CVSS 8.5PyPIAmendedPublished

    NPE in TFLite

    CVE-2021-37681 · GHSA-7xwj-5r4v-429p

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact The implementation of SVDF in TFLite is vulnerable to a null pointer error: The GetVariableInput function can return a null pointer but GetTensorData assumes that the argument is always a valid tensor. Furthermore, because GetVariableInput calls GetMutableInput which might return nullptr, the tensor-isvariable expression can also trigger a null pointer exception. Patches We have patched the issue in GitHub commit 5b048e87e4e55990dae6b547add4dae59f4e1c76. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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. Medium, CVSS 4.8PyPIAmendedPublished

    Use of unitialized value in TFLite

    CVE-2021-37682 · GHSA-4c4g-crqm-xrxw

    Affected
    • PyPI tensorflow < 2.3.4; >= 2.4.0, < 2.4.3; >= 2.5.0, <= 2.5.0
    Fixed in
    2.3.42.4.32.5.1· Vendor fix available
    Issue
    Impact All TFLite operations that use quantization can be made to use unitialized values. For example: The issue stems from the fact that quantization.params is only valid if quantization.type is different that kTfLiteNoQuantization. However, these checks are missing in large parts of the code. Patches We have patched the issue in GitHub commits 537bc7c723439b9194a358f64d871dd326c18887, 4a91f2069f7145aab6ba2d8cfe41be8a110c18a5 and 8933b8a21280696ab119b63263babdb54c298538. 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. 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 members of the Aivul Team from Qihoo 360.

    Recommended action: Upgrade to 2.5.1, 2.4.3 or 2.3.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 →