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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2021-29523— CHECK-fail in AddManySparseToTensorsMap

Quick assessment

Affected
tensorflow tensorflow
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Google TensorFlow是美国谷歌(Google)公司的一套用于机器学习的端到端开源平台。 TensorFlow 2.4.2,2.3.3,2.2.3,2.1.4存在输入验证错误漏洞,攻击者可利用该漏洞可以通过利用来自实现CHECK失败来导致拒绝服务。

CVSS 2.5 · Low EPSS 0.19% · P8

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2021-29523

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
CHECK-fail in AddManySparseToTensorsMap
Source: CVE Program / CVE List V5
Vulnerability Description
TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a denial of service via a `CHECK`-fail in `tf.raw_ops.AddManySparseToTensorsMap`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/6f9896890c4c703ae0a0845394086e2e1e523299/tensorflow/core/kernels/sparse_tensors_map_ops.cc#L257) takes the values specified in `sparse_shape` as dimensions for the output shape. The `TensorShape` constructor(https://github.com/tensorflow/tensorflow/blob/6f9896890c4c703ae0a0845394086e2e1e523299/tensorflow/core/framework/tensor_shape.cc#L183-L188) uses a `CHECK` operation which triggers when `InitDims`(https://github.com/tensorflow/tensorflow/blob/6f9896890c4c703ae0a0845394086e2e1e523299/tensorflow/core/framework/tensor_shape.cc#L212-L296) returns a non-OK status. This is a legacy implementation of the constructor and operations should use `BuildTensorShapeBase` or `AddDimWithStatus` to prevent `CHECK`-failures in the presence of overflows. 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
Source: CVE Program / CVE List V5
Vulnerability Type
整数溢出或超界折返
Source: CVE Program / CVE List V5
Vulnerability Title
Google TensorFlow 输入验证错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Google TensorFlow是美国谷歌(Google)公司的一套用于机器学习的端到端开源平台。 TensorFlow 2.4.2,2.3.3,2.2.3,2.1.4存在输入验证错误漏洞,攻击者可利用该漏洞可以通过利用来自实现CHECK失败来导致拒绝服务。
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

Vendor Product Affected Versions CPE Subscribe
tensorflow tensorflow < 2.1.4 -

II. Public POCs for CVE-2021-29523

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-29523

请登录查看更多情报信息。

Patches & Fixes for CVE-2021-29523 (1)

Vendor Advisories for CVE-2021-29523 (1)

Same Patch Batch · tensorflow · 2021-05-14 · 108 CVEs total

CVE-2021-29591 7.3 HIGH Stack overflow due to looping TFLite subgraph
CVE-2021-29605 7.1 HIGH Integer overflow in TFLite memory allocation
CVE-2021-29606 7.1 HIGH Heap OOB read in TFLite
CVE-2021-29614 7.1 HIGH Interpreter crash from `tf.io.decode_raw`
CVE-2021-29601 6.3 MEDIUM Integer overflow in TFLite concatentation
CVE-2021-29613 6.3 MEDIUM Incomplete validation in `tf.raw_ops.CTCLoss`
CVE-2021-29607 5.3 MEDIUM Incomplete validation in `SparseSparseMinimum`
CVE-2021-29609 5.3 MEDIUM Incomplete validation in `SparseAdd`
CVE-2021-29608 5.3 MEDIUM Heap OOB and null pointer dereference in `RaggedTensorToTensor`
CVE-2021-29571 4.5 MEDIUM Memory corruption in `DrawBoundingBoxesV2`
CVE-2021-29592 4.4 MEDIUM Null pointer dereference in TFLite's `Reshape` operator
CVE-2021-29610 3.6 LOW Invalid validation in `QuantizeAndDequantizeV2`
CVE-2021-29611 3.6 LOW Incomplete validation in `SparseReshape`
CVE-2021-29612 3.6 LOW Heap buffer overflow in `BandedTriangularSolve`
CVE-2021-29572 2.5 LOW Reference binding to nullptr in `SdcaOptimizer`
CVE-2021-29575 2.5 LOW Overflow/denial of service in `tf.raw_ops.ReverseSequence`
CVE-2021-29528 2.5 LOW Division by 0 in `QuantizedMul`
CVE-2021-29584 2.5 LOW CHECK-fail due to integer overflow
CVE-2021-29570 2.5 LOW Heap out of bounds read in `MaxPoolGradWithArgmax`
CVE-2021-29526 2.5 LOW Division by 0 in `Conv2D`

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-29523

No comments yet


Leave a comment