Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2022-29208 — tensorflow

🟠 CVSS 8.0 — High ⚠️ Exploit Public CWE-787 OSV
8.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Segfault and OOB write due to incomplete validation in EditDistance in TensorFlow

Impact

The implementation of [tf.raw_ops.EditDistance]() has incomplete validation. Users can pass negative values to cause a segmentation fault based denial of service:

```python

import tensorflow as tf

hypothesis_indices = tf.constant(-1250999896764, shape=[3, 3], dtype=tf.int64)

hypothesis_values = tf.constant(0, shape=[3], dtype=tf.int64)

hypothesis_shape = tf.constant(0, shape=[3], dtype=tf.int64)

truth_indices = tf.constant(-1250999896764, shape=[3, 3], dtype=tf.int64)

truth_values = tf.constant(2, shape=[3], dtype=tf.int64)

truth_shape = tf.constant(2, shape=[3], dtype=tf.int64)

tf.raw_ops.EditDistance(

hypothesis_indices=hypothesis_indices,

hypothesis_values=hypothesis_values,

hypothesis_shape=hypothesis_shape,

truth_indices=truth_indices,

truth_values=truth_values,

truth_shape=truth_shape)

```

In multiple places throughout the code, we are computing an index for a write operation:

```cc

if (g_truth == g_hypothesis) {

auto loc = std::inner_product(g_truth.begin(), g_truth.end(),

output_strides.begin(), int64_t{0});

OP_REQUIRES(

ctx, loc < output_elements,

errors::Internal("Got an inner product ", loc,

" which would require in writing to outside of "

"the buffer for the output tensor (max elements ",

output_elements, ")"));

output_t(loc) =

gtl::LevenshteinDistance<T>(truth_seq, hypothesis_seq, cmp);

// ...

}

```

However, the existing validation only checks against the upper bound of the array. Hence, it is possible to write before the array by massaging the input to generate negative values for loc.

Patches

We have patched the issue in GitHub commit [30721cf564cb029d34535446d6a5a6357bebc8e7](https://github.com/tensorflow/tensorflow/commit/30721cf564cb029d34535446d6a5a6357bebc8e7).

The fix will be included in TensorFlow 2.9.0. We will also cherrypick this commit on TensorFlow 2.8.1, TensorFlow 2.7.2, and TensorFlow 2.6.4, 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.

Attribution

This vulnerability has been reported by Neophytos Christou from Secure Systems Lab at Brown University.

How this vulnerability can be exploited

This issue can be reached with local access to the system, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity high, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

  • Attack vector: Local — a local account, shell or session on the host is needed.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: Low — an ordinary user account is enough.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: None.
  • Integrity impact: High — total loss, or loss the attacker controls.
  • Availability impact: High — total loss, or loss the attacker controls.

Weakness class

CVE-2022-29208 is classified as CWE-787: Out-of-bounds Write. Data is written past the end or before the start of a buffer, corrupting whatever is stored there.

Affected software

CVE-2022-29208 is recorded against 3 packages.

  • tensorflow (from 2.8.0 up to 2.8.1)
  • tensorflow-cpu (from 2.8.0 up to 2.8.1)
  • tensorflow-gpu (from 2.8.0 up to 2.8.1)

Timeline and source

Published on 9 July 2026 and last revised on 13 July 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from OSV.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Package)
github.com (Web)
github.com (Web)
github.com (Web)
github.com (Web)
pypi.org (Package)
github.com (Advisory)

Other advisories for this package

tensorflow has other advisories on record. If you are patching this one, these are worth checking on the same host:

Same weakness in other software

These advisories are the same class of weakness (CWE-787: Out-of-bounds Write) in other software:

Details

Severity HIGH
CVSS Score 8.0
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
CWE CWE-787
Public Exploit ⚠️ Yes
Source OSV
Published 2026-07-09
Updated 2026-08-20
Modified 2026-07-13

Affected Packages

Software From version Fixed in
tensorflow 2.8.0 2.8.1
tensorflow-cpu 2.8.0 2.8.1
tensorflow-gpu 2.8.0 2.8.1

Similar Threats

Exploit Protection

Are you running tensorflow?

CVE-2022-29208 carries CVSS 8.0 High rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2022-29208 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2022