Skip to main content

CVE-2022-23570: CWE-476: NULL Pointer Dereference in tensorflow tensorflow

Medium
Published: Fri Feb 04 2022 (02/04/2022, 22:32:42 UTC)
Source: CVE
Vendor/Project: tensorflow
Product: tensorflow

Description

Tensorflow is an Open Source Machine Learning Framework. When decoding a tensor from protobuf, TensorFlow might do a null-dereference if attributes of some mutable arguments to some operations are missing from the proto. This is guarded by a `DCHECK`. However, `DCHECK` is a no-op in production builds and an assertion failure in debug builds. In the first case execution proceeds to the dereferencing of the null pointer, whereas in the second case it results in a crash due to the assertion failure. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, and TensorFlow 2.6.3, as these are also affected and still in supported range.

AI-Powered Analysis

AILast updated: 06/22/2025, 03:20:47 UTC

Technical Analysis

CVE-2022-23570 is a medium-severity vulnerability in TensorFlow, an open-source machine learning framework widely used for developing and deploying machine learning models. The vulnerability arises during the decoding of tensors from protobuf messages. Specifically, when certain mutable arguments to operations lack expected attributes in the protobuf, TensorFlow attempts to dereference a null pointer. This null pointer dereference is guarded by a DCHECK, which acts as an assertion in debug builds but is a no-op in production builds. Consequently, in debug builds, the issue results in a crash due to assertion failure, while in production builds, it leads to undefined behavior caused by dereferencing a null pointer. This can cause the TensorFlow process to crash or behave unpredictably. The affected versions include TensorFlow versions prior to 2.5.3, versions from 2.6.0 up to but not including 2.6.3, and versions from 2.7.0 up to but not including 2.7.1. The fix for this vulnerability is included starting with TensorFlow 2.8.0, with backported patches for 2.7.1 and 2.6.3. No known exploits have been reported in the wild to date. The vulnerability is classified under CWE-476 (NULL Pointer Dereference), which typically impacts availability by causing crashes or denial of service. Since the issue occurs during protobuf decoding, it may be triggered by crafted protobuf inputs, but exploitation requires the ability to supply or influence protobuf data processed by TensorFlow. No authentication or user interaction is explicitly required if the attacker can feed malicious protobuf data to the vulnerable TensorFlow instance.

Potential Impact

For European organizations, the primary impact of CVE-2022-23570 is on the availability and stability of machine learning services that utilize vulnerable TensorFlow versions. Organizations deploying TensorFlow in production environments for critical applications—such as financial services, healthcare, manufacturing, or government AI initiatives—may experience service interruptions or crashes if exposed to malformed protobuf inputs. This could lead to denial of service conditions, disrupting automated decision-making, data processing pipelines, or AI-driven analytics. Although the vulnerability does not directly compromise confidentiality or integrity, the resulting instability could indirectly affect business operations and trust in AI systems. Given TensorFlow's widespread adoption in research institutions and enterprises across Europe, unpatched systems may be vulnerable to accidental crashes or targeted denial of service attacks, especially in environments where protobuf inputs are received from untrusted or external sources. The lack of known exploits reduces immediate risk, but the vulnerability's presence in supported versions necessitates timely remediation to maintain operational resilience.

Mitigation Recommendations

European organizations should implement the following specific mitigation measures: 1) Upgrade all TensorFlow deployments to version 2.8.0 or later, or apply backported patches available for versions 2.7.1 and 2.6.3 to ensure the vulnerability is remediated. 2) Review and restrict sources of protobuf input data to TensorFlow services, implementing strict input validation and sanitization to prevent malformed or malicious protobuf messages from reaching the decoding logic. 3) Employ runtime monitoring and anomaly detection on TensorFlow processes to detect crashes or abnormal behavior indicative of exploitation attempts. 4) Where feasible, isolate TensorFlow workloads processing untrusted data in sandboxed or containerized environments to limit the impact of potential crashes. 5) Incorporate fuzz testing of protobuf inputs in the development lifecycle to proactively identify similar vulnerabilities. 6) Maintain updated inventories of TensorFlow versions in use across the organization to prioritize patching efforts. These measures go beyond generic advice by emphasizing input validation, runtime monitoring, and environment isolation tailored to the protobuf decoding context of this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
GitHub_M
Date Reserved
2022-01-19T00:00:00.000Z
Cisa Enriched
true

Threat ID: 682d9848c4522896dcbf6270

Added to database: 5/21/2025, 9:09:28 AM

Last enriched: 6/22/2025, 3:20:47 AM

Last updated: 7/31/2025, 7:39:24 PM

Views: 12

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats