{"id":"CVE-2022-23570","aliases":["GHSA-9p77-mmrw-69c7","BIT-tensorflow-2022-23570","PYSEC-2022-134","PYSEC-2022-79","PYSEC-2026-3153"],"title":"Null-dereference in Tensorflow","summary":"Null-dereference in Tensorflow","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","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-09","updated":"2026-07-13","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-9p77-mmrw-69c7","references":[{"url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-9p77-mmrw-69c7"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23570"},{"url":"https://github.com/tensorflow/tensorflow/commit/8a513cec4bec15961fbfdedcaa5376522980455c"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-79.yaml"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-134.yaml"},{"url":"https://github.com/tensorflow/tensorflow"},{"url":"https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/full_type_util.cc#L104-L106"}],"tags":["osv","pip"],"epss":0.01,"epssPercentile":0.61216,"ingestedAt":"2026-07-13T18:57:56.033Z","slug":"CVE-2022-23570","body":"## Overview\n\n### Impact\nWhen 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`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/full_type_util.cc#L104-L106):\n\n```cc\n  const auto* attr = attrs.Find(arg->s()); \n  DCHECK(attr != nullptr);\n  if (attr->value_case() == AttrValue::kList) {\n    // ...\n  }\n```\nHowever, `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.\n\n### Patches\nWe have patched the issue in GitHub commit [8a513cec4bec15961fbfdedcaa5376522980455c](https://github.com/tensorflow/tensorflow/commit/8a513cec4bec15961fbfdedcaa5376522980455c).\n\nThe 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.\n\n### For more information\nPlease 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.\n\n## Affected packages\n\n- `tensorflow < 2.5.3`\n- `tensorflow >= 2.6.0, < 2.6.3`\n- `tensorflow >= 2.7.0, < 2.7.1`\n- `tensorflow-cpu < 2.5.3`\n- `tensorflow-cpu >= 2.6.0, < 2.6.3`\n- `tensorflow-cpu >= 2.7.0, < 2.7.1`\n- `tensorflow-gpu < 2.5.3`\n- `tensorflow-gpu >= 2.6.0, < 2.6.3`\n- `tensorflow-gpu >= 2.7.0, < 2.7.1`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `tensorflow 2.5.3`\n- `tensorflow 2.6.3`\n- `tensorflow 2.7.1`\n- `tensorflow-cpu 2.5.3`\n- `tensorflow-cpu 2.6.3`\n- `tensorflow-cpu 2.7.1`\n- `tensorflow-gpu 2.5.3`\n- `tensorflow-gpu 2.6.3`\n- `tensorflow-gpu 2.7.1`","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0.2,"exploitation":0,"ransomware":0},"changes":[]}