Skip to main content

CVE-2022-23578: CWE-401: Missing Release of Memory after Effective Lifetime in tensorflow tensorflow

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

Description

Tensorflow is an Open Source Machine Learning Framework. If a graph node is invalid, TensorFlow can leak memory in the implementation of `ImmutableExecutorState::Initialize`. Here, we set `item->kernel` to `nullptr` but it is a simple `OpKernel*` pointer so the memory that was previously allocated to it would leak. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.

AI-Powered Analysis

AILast updated: 06/22/2025, 04:05:36 UTC

Technical Analysis

CVE-2022-23578 is a medium-severity vulnerability in TensorFlow, an open-source machine learning framework widely used for developing and deploying machine learning models. The issue is classified under CWE-401, which refers to a missing release of memory after its effective lifetime, commonly known as a memory leak. Specifically, the vulnerability occurs in the implementation of the ImmutableExecutorState::Initialize function. When a graph node within TensorFlow is invalid, the code sets the pointer 'item->kernel' to nullptr. However, 'item->kernel' is a simple pointer to an OpKernel object, and the memory previously allocated to this pointer is not properly freed, resulting in a memory leak. This leak can cause the application to consume increasing amounts of memory over time, potentially leading to degraded performance or crashes due to exhaustion of available memory resources. The affected versions include TensorFlow versions from 2.5.0 up to but not including 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 was incorporated in TensorFlow 2.8.0 and backported to the supported versions 2.5.3, 2.6.3, and 2.7.1. There are no known exploits in the wild targeting this vulnerability, and it requires the presence of invalid graph nodes to trigger the leak. While the vulnerability does not directly lead to remote code execution or privilege escalation, the memory leak can impact system stability and availability, especially in long-running or resource-constrained environments where TensorFlow is deployed.

Potential Impact

For European organizations, the primary impact of this vulnerability lies in the potential degradation of availability and performance of systems running vulnerable TensorFlow versions. Organizations utilizing TensorFlow for machine learning workloads—such as research institutions, financial services, healthcare providers, and technology companies—may experience increased memory consumption leading to application crashes or system instability. This can disrupt critical AI-driven services, delay data processing, and increase operational costs due to resource exhaustion. Although the vulnerability does not directly compromise confidentiality or integrity, the resulting denial of service conditions could indirectly affect business continuity and service reliability. Given TensorFlow's widespread adoption in AI and data science projects across Europe, especially in countries with strong technology sectors, the impact could be significant if unpatched systems are used in production environments. However, the absence of known exploits and the requirement for invalid graph nodes reduce the immediate risk of exploitation.

Mitigation Recommendations

European organizations should take the following specific and practical steps to mitigate this vulnerability: 1) Identify all TensorFlow deployments and verify their versions. Focus on versions >= 2.5.0 and < 2.5.3, >= 2.6.0 and < 2.6.3, and >= 2.7.0 and < 2.7.1. 2) Upgrade TensorFlow installations to version 2.8.0 or later, or apply backported patches available for versions 2.5.3, 2.6.3, and 2.7.1 to ensure the memory leak is fixed. 3) Review and validate machine learning graph definitions to avoid invalid nodes that could trigger the leak, implementing input validation and error handling in model pipelines. 4) Monitor memory usage of TensorFlow processes in production environments to detect abnormal increases that may indicate leaks. 5) For critical systems where immediate upgrade is not feasible, implement resource limits (e.g., container memory limits) and restart policies to mitigate impact from memory exhaustion. 6) Incorporate this vulnerability into vulnerability management and patching workflows, ensuring timely updates. 7) Engage with TensorFlow community or vendors for any additional security advisories or patches. These steps go beyond generic advice by emphasizing version-specific patching, graph validation, and operational monitoring tailored to TensorFlow deployments.

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: 682d9848c4522896dcbf619b

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

Last enriched: 6/22/2025, 4:05:36 AM

Last updated: 8/15/2025, 2:28:51 PM

Views: 16

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