---
id: CVE-2021-29617
aliases:
  - GHSA-mmq6-q8r3-48fm
  - BIT-tensorflow-2021-29617
  - PYSEC-2021-254
  - PYSEC-2021-545
  - PYSEC-2021-743
title: Crash in `tf.strings.substr` due to `CHECK`-fail
summary: Crash in `tf.strings.substr` due to `CHECK`-fail
severity: low
cvss: 2.5
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L'
vendor: tensorflow
product: tensorflow
ecosystem: pip
affected:
  - tensorflow < 2.1.4
  - 'tensorflow >= 2.2.0, < 2.2.3'
  - 'tensorflow >= 2.3.0, < 2.3.3'
  - 'tensorflow >= 2.4.0, < 2.4.2'
  - tensorflow-cpu < 2.1.4
  - 'tensorflow-cpu >= 2.2.0, < 2.2.3'
  - 'tensorflow-cpu >= 2.3.0, < 2.3.3'
  - 'tensorflow-cpu >= 2.4.0, < 2.4.2'
  - tensorflow-gpu < 2.1.4
  - 'tensorflow-gpu >= 2.2.0, < 2.2.3'
  - 'tensorflow-gpu >= 2.3.0, < 2.3.3'
  - 'tensorflow-gpu >= 2.4.0, < 2.4.2'
patched:
  - tensorflow 2.1.4
  - tensorflow 2.2.3
  - tensorflow 2.3.3
  - tensorflow 2.4.2
  - tensorflow-cpu 2.1.4
  - tensorflow-cpu 2.2.3
  - tensorflow-cpu 2.3.3
  - tensorflow-cpu 2.4.2
  - tensorflow-gpu 2.1.4
  - tensorflow-gpu 2.2.3
  - tensorflow-gpu 2.3.3
  - tensorflow-gpu 2.4.2
published: '2021-05-21'
updated: '2026-07-08'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-mmq6-q8r3-48fm'
references:
  - url: >-
      https://github.com/tensorflow/tensorflow/security/advisories/GHSA-mmq6-q8r3-48fm
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2021-29617'
  - url: >-
      https://github.com/tensorflow/tensorflow/commit/890f7164b70354c57d40eda52dcdd7658677c09f
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-545.yaml
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-743.yaml
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-254.yaml
  - url: 'https://github.com/tensorflow/issues/46900'
  - url: 'https://github.com/tensorflow/issues/46974'
  - url: 'https://github.com/tensorflow/tensorflow'
tags:
  - osv
  - pip
epss: 0.0023
epssPercentile: 0.12253
ingestedAt: '2026-07-08T18:25:51.238Z'
---

## Overview

### Impact
An attacker can cause a denial of service via `CHECK`-fail in  `tf.strings.substr` with invalid arguments:

```python 
import tensorflow as tf
tf.strings.substr(input='abc', len=1, pos=[1,-1])
```

```python
import tensorflow as tf
tf.strings.substr(input='abc', len=1, pos=[1,2])
```

### Patches
We have received a patch for the issue in GitHub commit [890f7164b70354c57d40eda52dcdd7658677c09f](https://github.com/tensorflow/tensorflow/commit/890f7164b70354c57d40eda52dcdd7658677c09f).

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.

### 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 in [#46900](https://github.com/tensorflow/issues/46900) and fixed in [#46974](https://github.com/tensorflow/issues/46974).

## Affected packages

- `tensorflow < 2.1.4`
- `tensorflow >= 2.2.0, < 2.2.3`
- `tensorflow >= 2.3.0, < 2.3.3`
- `tensorflow >= 2.4.0, < 2.4.2`
- `tensorflow-cpu < 2.1.4`
- `tensorflow-cpu >= 2.2.0, < 2.2.3`
- `tensorflow-cpu >= 2.3.0, < 2.3.3`
- `tensorflow-cpu >= 2.4.0, < 2.4.2`
- `tensorflow-gpu < 2.1.4`
- `tensorflow-gpu >= 2.2.0, < 2.2.3`
- `tensorflow-gpu >= 2.3.0, < 2.3.3`
- `tensorflow-gpu >= 2.4.0, < 2.4.2`

## Remediation

Upgrade to a patched release:

- `tensorflow 2.1.4`
- `tensorflow 2.2.3`
- `tensorflow 2.3.3`
- `tensorflow 2.4.2`
- `tensorflow-cpu 2.1.4`
- `tensorflow-cpu 2.2.3`
- `tensorflow-cpu 2.3.3`
- `tensorflow-cpu 2.4.2`
- `tensorflow-gpu 2.1.4`
- `tensorflow-gpu 2.2.3`
- `tensorflow-gpu 2.3.3`
- `tensorflow-gpu 2.4.2`
