---
id: CVE-2022-23578
aliases:
  - GHSA-8r7c-3cm2-3h8f
  - BIT-tensorflow-2022-23578
  - PYSEC-2022-142
  - PYSEC-2022-87
  - PYSEC-2026-3138
title: Memory leak in Tensorflow
summary: Memory leak in Tensorflow
severity: medium
cvss: 4.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L'
vendor: tensorflow
product: tensorflow
ecosystem: pip
affected:
  - tensorflow < 2.5.3
  - 'tensorflow >= 2.6.0, < 2.6.3'
  - 'tensorflow >= 2.7.0, < 2.7.1'
  - tensorflow-cpu < 2.5.3
  - 'tensorflow-cpu >= 2.6.0, < 2.6.3'
  - 'tensorflow-cpu >= 2.7.0, < 2.7.1'
  - tensorflow-gpu < 2.5.3
  - 'tensorflow-gpu >= 2.6.0, < 2.6.3'
  - 'tensorflow-gpu >= 2.7.0, < 2.7.1'
patched:
  - tensorflow 2.5.3
  - tensorflow 2.6.3
  - tensorflow 2.7.1
  - tensorflow-cpu 2.5.3
  - tensorflow-cpu 2.6.3
  - tensorflow-cpu 2.7.1
  - tensorflow-gpu 2.5.3
  - tensorflow-gpu 2.6.3
  - tensorflow-gpu 2.7.1
published: '2022-02-10'
updated: '2026-07-13'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-8r7c-3cm2-3h8f'
references:
  - url: >-
      https://github.com/tensorflow/tensorflow/security/advisories/GHSA-8r7c-3cm2-3h8f
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2022-23578'
  - url: >-
      https://github.com/tensorflow/tensorflow/commit/c79ccba517dbb1a0ccb9b01ee3bd2a63748b60dd
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-87.yaml
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-142.yaml
  - url: 'https://github.com/tensorflow/tensorflow'
  - url: >-
      https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/common_runtime/immutable_executor_state.cc#L84-L262
tags:
  - osv
  - pip
epss: 0.00722
epssPercentile: 0.51989
ingestedAt: '2026-07-13T18:57:55.264Z'
---

## Overview

### Impact
If a graph node is invalid, TensorFlow can leak memory in the [implementation of `ImmutableExecutorState::Initialize`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/common_runtime/immutable_executor_state.cc#L84-L262):

```cc
Status s = params_.create_kernel(n->properties(), &item->kernel);
if (!s.ok()) {
  item->kernel = nullptr;
  s = AttachDef(s, *n);
  return s;           
}                     
```

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.

### Patches
We have patched the issue in GitHub commit [c79ccba517dbb1a0ccb9b01ee3bd2a63748b60dd](https://github.com/tensorflow/tensorflow/commit/c79ccba517dbb1a0ccb9b01ee3bd2a63748b60dd).
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.

### For more information 
Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.

## Affected packages

- `tensorflow < 2.5.3`
- `tensorflow >= 2.6.0, < 2.6.3`
- `tensorflow >= 2.7.0, < 2.7.1`
- `tensorflow-cpu < 2.5.3`
- `tensorflow-cpu >= 2.6.0, < 2.6.3`
- `tensorflow-cpu >= 2.7.0, < 2.7.1`
- `tensorflow-gpu < 2.5.3`
- `tensorflow-gpu >= 2.6.0, < 2.6.3`
- `tensorflow-gpu >= 2.7.0, < 2.7.1`

## Remediation

Upgrade to a patched release:

- `tensorflow 2.5.3`
- `tensorflow 2.6.3`
- `tensorflow 2.7.1`
- `tensorflow-cpu 2.5.3`
- `tensorflow-cpu 2.6.3`
- `tensorflow-cpu 2.7.1`
- `tensorflow-gpu 2.5.3`
- `tensorflow-gpu 2.6.3`
- `tensorflow-gpu 2.7.1`
