Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2020-15194

In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `SparseFillEmptyRowsGrad` implementation has incomplete validation of the shapes of its arguments. Although `reverse_index_map_t` and `grad_values_t` are accessed in a similar pattern, only `reverse_index_map_t` is validated to be of proper shape. Hence, malicious users can pass a bad `grad_values_t` to trigger an assertion failure in `vec`, causing denial of service in serving installations. The issue is patched in commit 390611e0d45c5793c7066110af37c8514e6a6c54, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1."

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

Source evidence

CVE-2020-15194

core-osv · Original source

Published 25 Sept 2020, 19:15 UTC

In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `SparseFillEmptyRowsGrad` implementation has incomplete validation of the shapes of its arguments. Although `reverse_index_map_t` and `grad_values_t` are accessed in a similar pattern, only `reverse_index_map_t` is validated to be of proper shape. Hence, malicious users can pass a bad `grad_values_t` to trigger an assertion failure in `vec`, causing denial of service in serving installations. The issue is patched in commit 390611e0d45c5793c7066110af37c8514e6a6c54, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1."

osv:CVE-2020-15194
Complete source record
{
  "id": "ff2421dbce64eeec6a381eeb5ff6930e90aa107217825553dbf2af13c9dd548c",
  "url": "https://osv.dev/vulnerability/CVE-2020-15194",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2020-15194",
    "summary": "In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `SparseFillEmptyRowsGrad` implementation has incomplete validation of the shapes of its arguments. Although `reverse_index_map_t` and `grad_values_t` are accessed in a similar pattern, only `reverse_index_map_t` is validated to be of proper shape. Hence, malicious users can pass a bad `grad_values_t` to trigger an assertion failure in `vec`, causing denial of service in serving installations. The issue is patched in commit 390611e0d45c5793c7066110af37c8514e6a6c54, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.\"",
    "evidence": "osv:CVE-2020-15194",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2020-15194",
      "aliases": [
        "BIT-tensorflow-2020-15194",
        "CVE-2020-15194",
        "GHSA-9mqp-7v2h-2382",
        "PYSEC-2020-117",
        "PYSEC-2020-274",
        "PYSEC-2020-309"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/tensorflow/tensorflow",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "df8c55ce12b5cfc6f29b01889f7773911a75e6ef"
                },
                {
                  "introduced": "64c3d382cadf7bbe8e7e99884bede8284ff67f56"
                },
                {
                  "fixed": "295ad2781683835be974faba0a191528d8079768"
                },
                {
                  "introduced": "e5bf8de410005de06a7ff5393fafdf832ef1d4ad"
                },
                {
                  "fixed": "ab35f2bf7132f9d20a0bea9a5d1849862737d4b4"
                },
                {
                  "introduced": "2b96f3662bd776e277f86997659e61046b56c315"
                },
                {
                  "fixed": "25fba035f3e453d94490932096282c7b0624bbb3"
                },
                {
                  "introduced": "b36436b087bd8e8701ef51718179037cccdfc26e"
                },
                {
                  "fixed": "fcc4b966f1265f466e82617020af93670141b009"
                },
                {
                  "fixed": "390611e0d45c5793c7066110af37c8514e6a6c54"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.15.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "2.0.0"
                      },
                      {
                        "fixed": "2.0.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "2.1.0"
                      },
                      {
                        "fixed": "2.1.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "2.2.0"
                      },
                      {
                        "fixed": "2.2.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:*",
                    "range": [
                      {
                        "introduced": "2.3.0"
                      },
                      {
                        "fixed": "2.3.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "390611e0d45c5793c7066110af37c8514e6a6c54"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "fcc4b966f1265f466e82617020af93670141b009"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.3.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.2.0",
            "v2.1.1",
            "v2.3.0",
            "v2.0.2",
            "v1.15.3",
            "v2.0.1",
            "v2.1.0",
            "v1.15.2",
            "v1.15.0",
            "v1.15.0-rc3",
            "v2.0.0",
            "v1.15.0-rc2",
            "v1.15.0-rc1",
            "v1.15.0-rc0",
            "v1.12.1",
            "v1.9.0-rc2",
            "v1.6.0-rc1",
            "v1.1.0-rc2",
            "v1.1.0-rc1",
            "0.6.0",
            "0.5.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15194.json",
            "vanir_signatures": [
              {
                "id": "CVE-2020-15194-36cad8cf",
                "digest": {
                  "threshold": 0.9,
                  "line_hashes": [
                    "259848440958415696715521615731029030452",
                    "218541846242894194789173260655204712511",
                    "71097890848980966314294188268620153762",
                    "138667248717434564490272608563126366461",
                    "208001727616036684745631798481607273358",
                    "134824706081532736489721039651720296162",
                    "87814817203424266253895897990251901181",
                    "291342232809186222451047035231406968374",
                    "91120970708461343970534351591815534898"
                  ]
                },
                "source": "https://github.com/tensorflow/tensorflow/commit/390611e0d45c5793c7066110af37c8514e6a6c54",
                "target": {
                  "file": "tensorflow/core/kernels/sparse_fill_empty_rows_op.cc"
                },
                "deprecated": false,
                "signature_type": "Line",
                "signature_version": "v1"
              }
            ],
            "vanir_signatures_modified": "2026-10-20T14:10:59Z"
          }
        }
      ],
      "modified": "2026-10-20T14:10:59.958999233Z",
      "provider": "osv",
      "references": [
        "https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1",
        "https://github.com/tensorflow/tensorflow/commit/390611e0d45c5793c7066110af37c8514e6a6c54",
        "https://github.com/tensorflow/tensorflow/security/advisories/GHSA-9mqp-7v2h-2382"
      ],
      "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-15194",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 388694,
  "published_at": "2020-09-25T19:15:14.683+00:00"
}