{"id":"CVE-2022-23574","aliases":["BIT-tensorflow-2022-23574","GHSA-77gp-3h4r-6428","PYSEC-2022-138","PYSEC-2022-83","PYSEC-2026-3127"],"url":"https://o3.security/vulnerability/CVE-2022-23574","summary":"Out of bounds read and write in Tensorflow","details":"### Impact\nThere is a typo in TensorFlow's [`SpecializeType`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/full_type_util.cc#L81-L102) which results in heap OOB read/write:\n\n```cc\nfor (int i = 0; i < op_def.output_arg_size(); i++) {\n  // ...\n  for (int j = 0; j < t->args_size(); j++) {\n    auto* arg = t->mutable_args(i);\n    // ...\n  }\n} \n```\n\nDue to a typo, `arg` is initialized to the `i`th mutable argument in a loop where the loop index is `j`. Hence it is possible to assign to `arg` from outside the vector of arguments. Since this is a mutable proto value, it allows both read and write to outside of bounds data.\n\n### Patches\nWe have patched the issue in GitHub commit [0657c83d08845cc434175934c642299de2c0f042](https://github.com/tensorflow/tensorflow/commit/0657c83d08845cc434175934c642299de2c0f042).\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.","published":"2022-02-04T22:32:35Z","modified":"2026-08-12T13:00:15.762464Z","cvss":{"score":8.8,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":1,"affectedPackages":[{"ecosystem":"PyPI","name":"tensorflow","fixedVersion":"2.5.3"},{"ecosystem":"PyPI","name":"tensorflow","fixedVersion":"2.6.3"},{"ecosystem":"PyPI","name":"tensorflow","fixedVersion":"2.7.1"},{"ecosystem":"PyPI","name":"tensorflow-cpu","fixedVersion":"2.5.3"},{"ecosystem":"PyPI","name":"tensorflow-cpu","fixedVersion":"2.6.3"},{"ecosystem":"PyPI","name":"tensorflow-cpu","fixedVersion":"2.7.1"},{"ecosystem":"PyPI","name":"tensorflow-gpu","fixedVersion":"2.5.3"},{"ecosystem":"PyPI","name":"tensorflow-gpu","fixedVersion":"2.6.3"},{"ecosystem":"PyPI","name":"tensorflow-gpu","fixedVersion":"2.7.1"}],"fix":{"url":"https://github.com/tensorflow/tensorflow/commit/0657c83d08845cc434175934c642299de2c0f042","label":"tensorflow/tensorflow@0657c83"},"references":[{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/full_type_util.cc#L81-L102"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/23xxx/CVE-2022-23574.json"},{"type":"ADVISORY","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-77gp-3h4r-6428"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23574"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/0657c83d08845cc434175934c642299de2c0f042"},{"type":"WEB","url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-83.yaml"},{"type":"WEB","url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-138.yaml"},{"type":"WEB","url":"https://github.com/tensorflow/tensorflow"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T13:00:15.762464Z"}}