{"id":"CVE-2020-15199","published":"2020-09-25T18:40:20Z","modified":"2024-08-04T13:08:22Z","title":"Denial of Service in Tensorflow","vendor":"tensorflow","product":"tensorflow","tier":"core","eol":null,"affectedVersions":[{"vendor":"tensorflow","product":"tensorflow","versions":["= 2.3.0"]}],"description":{"text":"In Tensorflow before version 2.3.1, the `RaggedCountSparseOutput` does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the `splits` tensor has the minimum required number of elements. Code uses this quantity to initialize a different data structure. Since `BatchedMap` is equivalent to a vector, it needs to have at least one element to not be `nullptr`. If user passes a `splits` tensor that is empty or has exactly one element, we get a `SIGABRT` signal raised by the operating system. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1.","provenance":"source","from":"CVE.org"},"summary":null,"cvss":{"score":5.9,"severity":"MEDIUM","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00812,"percentile":0.56829,"date":"2026-10-28","provenance":"source"},"kev":null,"vulncheckKev":null,"exploited":false,"otx":{"pulseCount":0,"pulses":[],"provenance":"machine"},"cwes":[{"id":"CWE-20","name":"Improper Input Validation"}],"references":[{"url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1","tags":["x_refsource_MISC"]},{"url":"https://github.com/tensorflow/tensorflow/commit/3cbb917b4714766030b28eba9fb41bb97ce9ee02","tags":["x_refsource_MISC"]},{"url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-x5cp-9pcf-pp3h","tags":["x_refsource_CONFIRM"]}],"techniques":[{"id":"T1499.004","name":"Application or System Exploitation","tactics":["impact"],"provenance":"source","basis":"ctid-cve","bases":["ctid-cve"],"basisDetail":"CTID attack_to_cve (Phase 2)","mappingType":"primary_impact","evidence":[],"confidence":"high"},{"id":"T1574","name":"Hijack Execution Flow","tactics":["execution","stealth"],"provenance":"source","basis":"ctid-cve","bases":["ctid-cve"],"basisDetail":"CTID attack_to_cve (Phase 2)","mappingType":"primary_impact","evidence":[],"confidence":"high"}],"reports":[],"affected":[{"ecosystem":"PyPI","package":"tensorflow","vulnerableRanges":[">=2.3.0, <2.3.1","<2.3.1"],"patched":["2.3.1"],"from":["GHSA-x5cp-9pcf-pp3h","PYSEC-2020-122"],"provenance":"source"},{"ecosystem":"PyPI","package":"tensorflow-cpu","vulnerableRanges":[">=2.3.0, <2.3.1","<2.3.1"],"patched":["2.3.1"],"from":["GHSA-x5cp-9pcf-pp3h","PYSEC-2020-279"],"provenance":"source"},{"ecosystem":"PyPI","package":"tensorflow-gpu","vulnerableRanges":[">=2.3.0, <2.3.1","<2.3.1"],"patched":["2.3.1"],"from":["GHSA-x5cp-9pcf-pp3h","PYSEC-2020-314"],"provenance":"source"}],"advisories":[{"id":"GHSA-x5cp-9pcf-pp3h","url":"https://github.com/advisories/GHSA-x5cp-9pcf-pp3h","severity":"HIGH","ecosystem":"PyPI","package":"tensorflow","vulnerableRanges":[">=2.3.0, <2.3.1"],"patched":["2.3.1"],"provenance":"source","from":"GHSA"},{"id":"GHSA-x5cp-9pcf-pp3h","url":"https://github.com/advisories/GHSA-x5cp-9pcf-pp3h","severity":"HIGH","ecosystem":"PyPI","package":"tensorflow-cpu","vulnerableRanges":[">=2.3.0, <2.3.1"],"patched":["2.3.1"],"provenance":"source","from":"GHSA"},{"id":"GHSA-x5cp-9pcf-pp3h","url":"https://github.com/advisories/GHSA-x5cp-9pcf-pp3h","severity":"HIGH","ecosystem":"PyPI","package":"tensorflow-gpu","vulnerableRanges":[">=2.3.0, <2.3.1"],"patched":["2.3.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2020-0195","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2020-0195","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[],"exploitSources":null,"exploitRefs":[],"flow":[{"stage":"primary","techniques":["T1574","T1499.004"],"provenance":"source"}],"timeline":[{"date":"2020-09-25","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2020-15199","provenance":"source"}],"speed":{"daysToPublicExploit":null,"firstExploitFrom":null,"daysToKev":null},"priority":{"score":15.5,"factors":[{"name":"In a KEV catalog","points":0.0,"detail":"not listed"},{"name":"Recent KEV listing","points":0.0,"detail":"not listed"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":11.37,"detail":"percentile 0.5683"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":0.0,"detail":"none found"},{"name":"Mentioned in OTX pulses","points":0.0,"detail":"0 pulses"},{"name":"CVSS severity","points":4.13,"detail":"base score 5.9"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}