Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2021-37654— Heap OOB and CHECK fail in `ResourceGather` in TensorFlow

CVSS 7.3 · High EPSS 0.04% · P11
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2021-37654

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Heap OOB and CHECK fail in `ResourceGather` in TensorFlow
Source: NVD (National Vulnerability Database)
Vulnerability Description
TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a crash via a `CHECK`-fail in debug builds of TensorFlow using `tf.raw_ops.ResourceGather` or a read from outside the bounds of heap allocated data in the same API in a release build. The [implementation](https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/resource_variable_ops.cc#L660-L668) does not check that the `batch_dims` value that the user supplies is less than the rank of the input tensor. Since the implementation uses several for loops over the dimensions of `tensor`, this results in reading data from outside the bounds of heap allocated buffer backing the tensor. We have patched the issue in GitHub commit bc9c546ce7015c57c2f15c168b3d9201de679a1d. 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.
Source: NVD (National Vulnerability Database)
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H
Source: NVD (National Vulnerability Database)
Vulnerability Type
跨界内存读
Source: NVD (National Vulnerability Database)
Vulnerability Title
Google TensorFlow缓冲区错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Google TensorFlow是美国谷歌(Google)公司的一套用于机器学习的端到端开源平台。 Google TensorFlow存在缓冲区错误漏洞,该漏洞源于在受影响的版本中,tf.raw_ops.ResourceGather缺少有效的限制,攻击者可以在TensorFlow的调试版本中执行“检查”-失败,或从发布版本中相同API中的堆分配的边界之外数据读取,来触发崩溃。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
tensorflowtensorflow >= 2.5.0, < 2.5.1 -

II. Public POCs for CVE-2021-37654

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-37654

登录查看更多情报信息。

Same Patch Batch · tensorflow · 2021-08-12 · 58 CVEs total

CVE-2021-376789.3 CRITICALArbitrary code execution due to YAML deserialization
CVE-2021-376398.4 HIGHNull pointer dereference and heap OOB read in TensorFlow
CVE-2021-376897.8 HIGHNull pointer dereference in TensorFlow Lite MLIR optimizations
CVE-2021-376657.8 HIGHIncomplete validation in MKL requantization in TensorFlow
CVE-2021-376637.8 HIGHIncomplete validation in `QuantizeV2` in TensorFlow
CVE-2021-376817.8 HIGHNull pointer exception in TensorFlow Lite
CVE-2021-376677.8 HIGHReference binding to nullptr in unicode encoding in TensorFlow
CVE-2021-376887.8 HIGHNull pointer dereference in TensorFlow Lite
CVE-2021-376767.8 HIGHReference binding to nullptr in shape inference in TensorFlow
CVE-2021-376717.8 HIGHReference binding to nullptr in map operations in TensorFlow
CVE-2021-376667.8 HIGHReference binding to nullptr in `RaggedTensorToVariant` in TensorFlow
CVE-2021-376487.8 HIGHIncorrect validation of `SaveV2` inputs in TensorFlow
CVE-2021-376527.8 HIGHUse after free in boosted trees creation in TensorFlow
CVE-2021-376507.8 HIGHSegfault and heap buffer overflow in `{Experimental,}DatasetToTFRecord` in TensorFlow
CVE-2021-376437.7 HIGHNull pointer dereference in `MatrixDiagPartOp` in TensorFlow
CVE-2021-376477.7 HIGHNull pointer dereference in `SparseTensorSliceDataset` in TensorFlow
CVE-2021-376387.7 HIGHNull pointer dereference in `RaggedTensorToTensor` in TensorFlow
CVE-2021-376497.7 HIGHNull pointer dereference in `UncompressElement` in TensorFlow
CVE-2021-376377.7 HIGHNull pointer dereference in `CompressElement` in TensorFlow
CVE-2021-376597.3 HIGHOut of bounds read via null pointer dereference in TensorFlow

Showing top 20 of 58 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2021-37654

No comments yet


Leave a comment