Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2020-15193

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2020-15193
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 12:40 UTC · Revision 1

Source evidence

CVE-2020-15193

core-osv · Original source

Published 25 Sept 2020, 19:15 UTC

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.

osv:CVE-2020-15193
Complete source record
{
  "id": "cff2b6de0368b510a21ce263cb4b0c47eef41852ecdee5795b52a8ad33ce34cd",
  "url": "https://osv.dev/vulnerability/CVE-2020-15193",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2020-15193",
    "summary": "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.",
    "evidence": "osv:CVE-2020-15193",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2020-15193",
      "aliases": [
        "BIT-tensorflow-2020-15193",
        "CVE-2020-15193",
        "GHSA-rjjg-hgv6-h69v",
        "PYSEC-2020-116",
        "PYSEC-2020-273",
        "PYSEC-2020-308"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/tensorflow/tensorflow",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2b96f3662bd776e277f86997659e61046b56c315"
                },
                {
                  "last_affected": "b36436b087bd8e8701ef51718179037cccdfc26e"
                },
                {
                  "fixed": "22e07fb204386768e5bcbea563641ea11f96ceb8"
                },
                {
                  "fixed": "fcc4b966f1265f466e82617020af93670141b009"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:2.2.0:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "2.2.0"
                      },
                      {
                        "last_affected": "2.2.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:2.3.0:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "2.3.0"
                      },
                      {
                        "last_affected": "2.3.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "range": [
                      {
                        "fixed": "22e07fb204386768e5bcbea563641ea11f96ceb8"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "fcc4b966f1265f466e82617020af93670141b009"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.3.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.2.0",
            "2.3.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15193.json",
            "vanir_signatures": [
              {
                "id": "CVE-2020-15193-28b47c62",
                "digest": {
                  "length": 1068,
                  "function_hash": "302909230814631908500873842520316055001"
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8",
                "target": {
                  "file": "tensorflow/c/eager/dlpack.cc",
                  "function": "TFE_HandleToDLPack"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2020-15193-5c62b918",
                "digest": {
                  "length": 40733,
                  "function_hash": "24753109135250677179816536229137657275"
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8",
                "target": {
                  "file": "tensorflow/python/tfe_wrapper.cc",
                  "function": "PYBIND11_MODULE"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2020-15193-61b62625",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "203184394093938566735101442339476286402",
                    "5057783822461729014686159011822875566",
                    "276337694304556640652692797546760300494",
                    "324519683375647210480153687631467865768",
                    "150394200301454229501015301415659583403",
                    "193926713344694573779654214522808465940"
                  ]
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8",
                "target": {
                  "file": "tensorflow/python/tfe_wrapper.cc"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2020-15193-ba7f858a",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "292945338278192546795872999715438919692",
                    "8499956686667079679287218720624198012",
                    "307114024074474464007071230750556435264",
                    "328636996453833581469835052556533486484",
                    "330074296641229322375849268324042839247",
                    "297098567421169699229427655622528681499",
                    "5005939368759929207605833461930312587",
                    "71125840436849761506943478301431655003",
                    "188619440248625237133937985021060796580",
                    "238407969739438406160217647691629800386",
                    "270117986294955159119535060630390044808",
                    "195004349352804827391322080325011119731",
                    "141444573330419127191167987337461451144",
                    "150569583603784431261765181427430532486",
                    "153618812154243453255623643549632453896",
                    "48503017837638972005747806247883235751",
                    "132225355395750670746629296731937542309",
                    "96071311886532311406221375120395617570",
                    "105512974983660108519637253708194445101",
                    "78023981141124778261323221962248709649",
                    "291525630689812036460554464906136495752",
                    "200733148512573282717005722123763233839"
                  ]
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8",
                "target": {
                  "file": "tensorflow/c/eager/dlpack.cc"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-20T14:10:56Z"
          }
        }
      ],
      "modified": "2026-10-20T14:10:56.647677708Z",
      "provider": "osv",
      "references": [
        "https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1",
        "https://github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8",
        "https://github.com/tensorflow/tensorflow/security/advisories/GHSA-rjjg-hgv6-h69v"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*"
            ],
            "vendor_product": "opensuse:leap",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "15.2"
                  },
                  {
                    "last_affected": "15.2"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2020-15193",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 388681,
  "published_at": "2020-09-25T19:15:14.573+00:00"
}