Skip to content
Heist/ feed
Back to feed
Critical

Security advisory

Type: advisorySources: OSVCVE: CVE-2019-16778

In TensorFlow before 1.15, a heap buffer overflow in UnsortedSegmentSum can be produced when the Index template argument is int32. In this case data_size and num_segments fields are truncated from int64 to int32 and can produce negative numbers, resulting in accessing out of bounds heap memory. This is unlikely to be exploitable and was detected and fixed internally in TensorFlow 1.15 and 2.0.

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

Source evidence

CVE-2019-16778

core-osv · Original source

Published 16 Dec 2019, 21:15 UTC

In TensorFlow before 1.15, a heap buffer overflow in UnsortedSegmentSum can be produced when the Index template argument is int32. In this case data_size and num_segments fields are truncated from int64 to int32 and can produce negative numbers, resulting in accessing out of bounds heap memory. This is unlikely to be exploitable and was detected and fixed internally in TensorFlow 1.15 and 2.0.

osv:CVE-2019-16778
Complete source record
{
  "id": "5566550a18a98be50cb85532f7d7052cf0709b301fad85903c144bec3fee8b68",
  "url": "https://osv.dev/vulnerability/CVE-2019-16778",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2019-16778",
    "summary": "In TensorFlow before 1.15, a heap buffer overflow in UnsortedSegmentSum can be produced when the Index template argument is int32. In this case data_size and num_segments fields are truncated from int64 to int32 and can produce negative numbers, resulting in accessing out of bounds heap memory. This is unlikely to be exploitable and was detected and fixed internally in TensorFlow 1.15 and 2.0.",
    "evidence": "osv:CVE-2019-16778",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2019-16778",
      "aliases": [
        "CVE-2019-16778",
        "GHSA-844w-j86r-4x2j",
        "PYSEC-2019-209",
        "PYSEC-2019-227",
        "PYSEC-2019-234"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/tensorflow/tensorflow",
              "type": "GIT",
              "events": [
                {
                  "introduced": "07bb8ea2379bd459832b23951fb20ec47f3fdbd4"
                },
                {
                  "fixed": "590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b"
                },
                {
                  "fixed": "db4f9717c41bccc3ce10099ab61996b246099892"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.0.0"
                      },
                      {
                        "fixed": "1.15.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "db4f9717c41bccc3ce10099ab61996b246099892"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-16778.json",
            "vanir_signatures": [
              {
                "id": "CVE-2019-16778-3e415c80",
                "digest": {
                  "length": 587,
                  "function_hash": "266894416459361751620089497165734716131"
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892",
                "target": {
                  "file": "tensorflow/core/kernels/segment_reduction_ops_gpu.cu.cc",
                  "function": "UnsortedSegmentCustomKernel"
                },
                "deprecated": false,
                "signature_type": "Function",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-16778-4e560553",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "6331943894980170858317685863833019921",
                    "214045140222777259402560935204409547022",
                    "325949159944068704645175937099705523434",
                    "217103848399254908549452665988682354306",
                    "36609377068039595622747933847199008210",
                    "303981863166469280781391800200062441955",
                    "135573884173473358802937650600170517754"
                  ]
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892",
                "target": {
                  "file": "tensorflow/core/kernels/segment_reduction_ops.h"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-16778-586ec0b3",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "235808693327189569773861597970002535008",
                    "233840798026001491035449614171210650261",
                    "297236745294115179364218354575228198905",
                    "217103848399254908549452665988682354306",
                    "138171583532476712804643446649285637055",
                    "131438787052235017093187079144201496341",
                    "217587043612413161713395564627822427757",
                    "53898417695724250738386203698104109303",
                    "231774044929129441942408657734919873581",
                    "140085148330711797794822886821193955800",
                    "15495048468221142250885038703526623930",
                    "224724561869747404585048890080141808440",
                    "35978388368913015282323042689977567452",
                    "101151445395358462602359746539746681306",
                    "307500103657767808926503624762076338352",
                    "80536324588068045439065565551699926686",
                    "209722453098834018287566370706714234702",
                    "83735232936593708566606704657904030171",
                    "314847732684356313379879494794964162171",
                    "105669561747146498072531413962649791404",
                    "172522443652807291382493424283539300604",
                    "179629018600915798836450332928215706766",
                    "62604986084811498261860577393949968283",
                    "28615251482390868241522251138091267201",
                    "84524174550741019855421470326922165764",
                    "109034631481903650929940682251329303444",
                    "143075626819419434934623976388550016838",
                    "64740571689536485805738928248049143986",
                    "30327033083339852320058392098391597674"
                  ]
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892",
                "target": {
                  "file": "tensorflow/core/kernels/segment_reduction_ops.cc"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              },
              {
                "id": "CVE-2019-16778-658cad4b",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "241834037666819623320381953616657334415",
                    "90585862458611126869396751146719075224",
                    "284872941290040171933256608605664435682",
                    "245293425034819623005819707696611218443",
                    "239371226030914074137771114425101515639",
                    "111607732684104047069398367905718721602",
                    "255157576971051492744535599527380196849",
                    "127353723193930900676794857139839437423",
                    "270038944708426845955823256494207787275",
                    "186210706438643820419605026626225513271",
                    "195993372722558603778323033966360693538",
                    "128526609872678751648941912773596740388",
                    "32042473063003910688910450257822399593",
                    "316191027526243402032719468774352395646",
                    "23743177690187600005788207380750594215",
                    "294443632435942355517383844715153726745",
                    "198653707757938920082634171977107565854",
                    "25438555418510026969656707757172142427",
                    "209584356186833386283873667078455028045",
                    "80544102889775894229518500146424714561",
                    "117099923301638954517171633816362339360",
                    "217103848399254908549452665988682354306",
                    "138171583532476712804643446649285637055",
                    "291877326891371503454283783598949437601",
                    "164966773204095387073122954974107991607",
                    "192173673991019347476596747105667313908",
                    "319670334364595086588422219931456447943",
                    "92539266289901056658407397414959215628",
                    "171650989323595829624457831776727401695",
                    "327747886273491899192655896882347191672",
                    "201095175880604228994003679729554042810",
                    "191470641991708592979612823657418492473",
                    "70168493943418284232543547624190868968",
                    "76017820953141862933367634066537409660",
                    "242227575524681261580486205135821626686",
                    "335358723786867363265519041459636314861",
                    "16070661091722372647900024146014514860",
                    "123141785934739425068917517220333006988",
                    "152544555879643756162346618460030209319",
                    "337318988659652004145975253244355674786"
                  ]
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892",
                "target": {
                  "file": "tensorflow/core/kernels/segment_reduction_ops_gpu.cu.cc"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-20T14:10:43Z"
          }
        }
      ],
      "modified": "2026-10-20T14:10:43.990349132Z",
      "provider": "osv",
      "references": [
        "https://github.com/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2019-002.md",
        "https://github.com/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892",
        "https://github.com/tensorflow/tensorflow/security/advisories/GHSA-844w-j86r-4x2j"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2019-16778",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 388647,
  "published_at": "2019-12-16T21:15:11.403+00:00"
}