{"id":"CVE-2020-15193","aliases":["BIT-tensorflow-2020-15193","EUVD-2020-0189","GHSA-rjjg-hgv6-h69v","PYSEC-2020-116","PYSEC-2020-273","PYSEC-2020-308","openSUSE-SU-2020:1766-1"],"status":"published","title":"Memory corruption in Tensorflow","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","severity":{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0083,"percentile":0.57982,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-908"],"published":"2020-09-25T18:28:27Z","modified":"2026-10-20T14:10:56Z","fixes":[{"ecosystem":"PyPI","package":"tensorflow","fixed_in":["2.2.1","2.3.1"],"sources":["ghsa","osv"]},{"ecosystem":"PyPI","package":"tensorflow-cpu","fixed_in":["2.2.1","2.3.1"],"sources":["ghsa","osv"]},{"ecosystem":"PyPI","package":"tensorflow-gpu","fixed_in":["2.2.1","2.3.1"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"tensorflow","fixed_in":["2.2.1","2.3.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"last_affected":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"last_affected":"2.3.0"},{"fixed":"2.3.1"}]}],"versions":["2.3.0"]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow-cpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"last_affected":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow-cpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"last_affected":"2.3.0"},{"fixed":"2.3.1"}]}],"versions":["2.3.0"]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow-gpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"last_affected":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"]},{"source":"ghsa","ecosystem":"PyPI","package":"tensorflow-gpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"last_affected":"2.3.0"},{"fixed":"2.3.1"}]}],"versions":["2.3.0"]},{"source":"osv","ecosystem":"Bitnami","package":"tensorflow","ranges":[{"type":"SEMVER","events":[{"introduced":"2.2.0"},{"fixed":"2.2.1"},{"introduced":"2.3.0"},{"fixed":"2.3.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"fixed":"2.3.1"}]}],"versions":["2.3.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow-cpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow-cpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"fixed":"2.3.1"}]}],"versions":["2.3.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow-gpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow-gpu","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"fixed":"2.3.1"}]}],"versions":["2.3.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"22e07fb204386768e5bcbea563641ea11f96ceb8"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.1"},{"introduced":"2.3.0rc0"},{"fixed":"2.3.1"}]}],"versions":["0.12.0rc0","0.12.0rc1","0.12.0","0.12.1","1.0.0","1.0.1","1.1.0rc0","1.1.0rc1","1.1.0rc2","1.1.0","1.2.0rc0","1.2.0rc1","1.2.0rc2","1.2.0","1.2.1","1.3.0rc0","1.3.0rc1","1.3.0rc2","1.3.0","1.4.0rc0","1.4.0rc1","1.4.0","1.4.1","1.5.0rc0","1.5.0rc1","1.5.0","1.5.1","1.6.0rc0","1.6.0rc1","1.6.0","1.7.0rc0","1.7.0rc1","1.7.0","1.7.1","1.8.0rc0","1.8.0rc1","1.8.0","1.9.0rc0","1.9.0rc1","1.9.0rc2","1.9.0","1.10.0rc0","1.10.0rc1","1.10.0","1.10.1","1.11.0rc0","1.11.0rc1","1.11.0rc2","1.11.0","1.12.0rc0","1.12.0rc1","1.12.0rc2","1.12.0","1.12.2","1.12.3","1.13.0rc0","1.13.0rc1","1.13.0rc2","1.13.1","1.13.2","1.14.0rc0","1.14.0rc1","1.14.0","1.15.0rc0","1.15.0rc1","1.15.0rc2","1.15.0rc3","1.15.0","1.15.2","1.15.3","1.15.4","1.15.5","2.0.0a0","2.0.0b0","2.0.0b1","2.0.0rc0","2.0.0rc1","2.0.0rc2","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.1.0rc0","2.1.0rc1","2.1.0rc2","2.1.0","2.1.1","2.1.2","2.1.3","2.2.0rc0","2.2.0rc1","2.2.0rc2","2.2.0rc3","2.2.0rc4","2.2.0","2.3.0rc0","2.3.0rc1","2.3.0rc2","2.3.0","2.1.4"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow-cpu","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"22e07fb204386768e5bcbea563641ea11f96ceb8"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.1"},{"introduced":"2.3.0rc0"},{"fixed":"2.3.1"}]}],"versions":["1.15.0","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.2.0","2.3.0"]},{"source":"osv","ecosystem":"PyPI","package":"tensorflow-gpu","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"22e07fb204386768e5bcbea563641ea11f96ceb8"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.1"},{"introduced":"2.3.0rc0"},{"fixed":"2.3.1"}]}],"versions":["0.12.0","0.12.1","1.0.0","1.0.1","1.1.0","1.10.0","1.10.1","1.11.0","1.12.0","1.12.2","1.12.3","1.13.1","1.13.2","1.14.0","1.15.0","1.15.2","1.15.3","1.15.4","1.15.5","1.2.0","1.2.1","1.3.0","1.4.0","1.4.1","1.5.0","1.5.1","1.6.0","1.7.0","1.7.1","1.8.0","1.9.0","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.2.0","2.3.0"]},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"tensorflow2","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2-lp152.7.3.1"}]}],"bundled":16},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"tensorflow2-lite","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2-lp152.7.3.1"}]}],"bundled":16},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"tensorflow2_2_1_2-gnu-hpc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2-lp152.7.3.1"}]}],"bundled":16},{"source":"osv","ecosystem":"openSUSE:Leap 15.2","package":"tensorflow2_2_1_2-gnu-openmpi2-hpc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2-lp152.7.3.1"}]}],"bundled":16}],"products":[{"vendor":"google","product":"tensorflow"},{"vendor":"opensuse","product":"leap"},{"vendor":"tensorflow","product":"tensorflow"}],"references":[{"url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-rjjg-hgv6-h69v","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Third Party Advisory","advisory","evidence","web"]},{"url":"https://github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","advisory","fix","web"]},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html","tags":["vendor-advisory","x_refsource_SUSE","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15193","tags":["web","advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2020-273.yaml","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2020-308.yaml","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2020-116.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-rjjg-hgv6-h69v"},{"url":"https://github.com/tensorflow/tensorflow","tags":["package"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/TNMEEN772D6LWSHNB64QFB5TB3CZZEF4/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1173314","tags":["report"]},{"url":"https://bugzilla.suse.com/1175099","tags":["report"]},{"url":"https://bugzilla.suse.com/1175789","tags":["report"]},{"url":"https://bugzilla.suse.com/1177022","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15190","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15191","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15192","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15193","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15194","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15195","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15202","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15203","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15204","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15205","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15206","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15207","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15208","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15209","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15210","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15211","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2020-15193","title":"Memory corruption in Tensorflow","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T18:40:51Z","modified":"2024-08-04T13:08:22.677Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high","assessor":"cna"}],"cwes":["CWE-908"],"updated_at":"2026-11-02T14:35:50.228781Z"}],"euvd":[{"id":"EUVD-2020-0189","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T18:40:51Z","modified":"2024-08-04T13:08:22Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high"}],"updated_at":"2026-11-03T03:07:33.100327Z"}],"ghsa":[{"id":"GHSA-rjjg-hgv6-h69v","title":"Memory corruption in Tensorflow","description":"### Impact\nThe implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor:\nhttps://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/python/tfe_wrapper.cc#L1361\n\nHowever, there is nothing stopping users from passing in a Python object instead of a tensor.\n```python\nIn [2]: tf.experimental.dlpack.to_dlpack([2])                                                                                                                                            \n==1720623==WARNING: MemorySanitizer: use-of-uninitialized-value                                                                                                                            \n    #0 0x55b0ba5c410a in tensorflow::(anonymous namespace)::GetTensorFromHandle(TFE_TensorHandle*, TF_Status*) third_party/tensorflow/c/eager/dlpack.cc:46:7\n    #1 0x55b0ba5c38f4 in tensorflow::TFE_HandleToDLPack(TFE_TensorHandle*, TF_Status*) third_party/tensorflow/c/eager/dlpack.cc:252:26\n... \n```\n\nThe uninitialized memory address is due to a `reinterpret_cast`\nhttps://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/python/eager/pywrap_tensor.cc#L848-L850\n\nSince the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. \n\n### Patches\nWe have patched the issue in 22e07fb204386768e5bcbea563641ea11f96ceb8 and will release a patch release for all affected versions.\n\nWe recommend users to upgrade to TensorFlow 2.2.1 or 2.3.1.\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### Attribution\nThis vulnerability has been reported by members of the Aivul Team from Qihoo 360.","status":"published","published":"2020-09-25T18:28:27Z","modified":"2024-10-28T20:17:49Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high"}],"cwes":["CWE-908"],"updated_at":"2026-11-02T14:38:14.769863Z"}],"nvd":[{"id":"CVE-2020-15193","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T19:15:14.573Z","modified":"2026-06-17T02:56:14.193Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high","assessor":"secondary"},{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high","assessor":"primary"},{"version":"2.0","score":5.5,"vector":"AV:N/AC:L/Au:S/C:N/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-908"],"updated_at":"2026-11-02T14:06:17.70091Z"}],"osv":[{"id":"CVE-2020-15193","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T19:15:14.573Z","modified":"2026-10-20T14:10:56.647677708Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high"}],"updated_at":"2026-11-02T15:44:14.828228Z"},{"id":"GHSA-rjjg-hgv6-h69v","title":"Memory corruption in Tensorflow","description":"### Impact\nThe implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor:\nhttps://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/python/tfe_wrapper.cc#L1361\n\nHowever, there is nothing stopping users from passing in a Python object instead of a tensor.\n```python\nIn [2]: tf.experimental.dlpack.to_dlpack([2])                                                                                                                                            \n==1720623==WARNING: MemorySanitizer: use-of-uninitialized-value                                                                                                                            \n    #0 0x55b0ba5c410a in tensorflow::(anonymous namespace)::GetTensorFromHandle(TFE_TensorHandle*, TF_Status*) third_party/tensorflow/c/eager/dlpack.cc:46:7\n    #1 0x55b0ba5c38f4 in tensorflow::TFE_HandleToDLPack(TFE_TensorHandle*, TF_Status*) third_party/tensorflow/c/eager/dlpack.cc:252:26\n... \n```\n\nThe uninitialized memory address is due to a `reinterpret_cast`\nhttps://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/python/eager/pywrap_tensor.cc#L848-L850\n\nSince the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. \n\n### Patches\nWe have patched the issue in 22e07fb204386768e5bcbea563641ea11f96ceb8 and will release a patch release for all affected versions.\n\nWe recommend users to upgrade to TensorFlow 2.2.1 or 2.3.1.\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### Attribution\nThis vulnerability has been reported by members of the Aivul Team from Qihoo 360.","status":"published","published":"2020-09-25T18:28:27Z","modified":"2026-07-08T06:28:45.359287278Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L","level":"high"},{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-908"],"updated_at":"2026-11-02T15:46:55.877614Z"},{"id":"BIT-tensorflow-2020-15193","title":"Memory corruption in Tensorflow","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2024-03-06T11:20:48.722Z","modified":"2026-09-08T08:48:10.816343593Z","updated_at":"2026-11-02T15:28:35.51001Z"},{"id":"openSUSE-SU-2020:1766-1","title":"Security update for tensorflow2","description":"This update for tensorflow2 fixes the following issues:\n\n- updated to 2.1.2 with following fixes (boo#1177022):\n  * Fixes an undefined behavior causing a segfault in tf.raw_ops.Switch (CVE-2020-15190)\n  * Fixes three vulnerabilities in conversion to DLPack format (CVE-2020-15191, CVE-2020-15192, CVE-2020-15193)\n  * Fixes two vulnerabilities in SparseFillEmptyRowsGrad (CVE-2020-15194, CVE-2020-15195)\n  * Fixes an integer truncation vulnerability in code using the work sharder API (CVE-2020-15202)\n  * Fixes a format string vulnerability in tf.strings.as_string (CVE-2020-15203)\n  * Fixes segfault raised by calling session-only ops in eager mode (CVE-2020-15204)\n  * Fixes data leak and potential ASLR violation from tf.raw_ops.StringNGrams (CVE-2020-15205)\n  * Fixes segfaults caused by incomplete SavedModel validation (CVE-2020-15206)\n  * Fixes a data corruption due to a bug in negative indexing support in TFLite (CVE-2020-15207)\n  * Fixes a data corruption due to dimension mismatch in TFLite (CVE-2020-15208)\n  * Fixes several vulnerabilities in TFLite saved model format (CVE-2020-15209, CVE-2020-15210, CVE-2020-15211)\n","status":"published","published":"2020-10-29T11:23:39Z","modified":"2026-02-04T03:45:35.673536Z","updated_at":"2026-11-02T16:58:31.517538Z"},{"id":"PYSEC-2020-116","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T19:15:00Z","modified":"2023-12-06T01:00:16.213136Z","updated_at":"2026-11-02T15:52:52.192131Z"},{"id":"PYSEC-2020-273","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T19:15:00Z","modified":"2023-12-06T01:00:16.213136Z","updated_at":"2026-11-02T15:52:52.682031Z"},{"id":"PYSEC-2020-308","description":"In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.","status":"published","published":"2020-09-25T19:15:00Z","modified":"2023-12-06T01:00:16.213136Z","updated_at":"2026-11-02T15:52:52.682031Z"}]}}
