2020-06-25 17:01:46 +00:00
{
"CVE_data_meta" : {
2020-09-25 11:24:41 -06:00
"ASSIGNER" : "security-advisories@github.com" ,
2020-06-25 17:01:46 +00:00
"ID" : "CVE-2020-15201" ,
2020-09-25 11:24:41 -06:00
"STATE" : "PUBLIC" ,
"TITLE" : "Heap buffer overflow in Tensorflow"
2020-06-25 17:01:46 +00:00
} ,
2020-09-25 11:24:41 -06:00
"affects" : {
"vendor" : {
"vendor_data" : [
{
"product" : {
"product_data" : [
{
"product_name" : "tensorflow" ,
"version" : {
"version_data" : [
{
"version_value" : "= 2.3.0"
}
]
}
}
]
} ,
"vendor_name" : "tensorflow"
}
]
}
} ,
"data_format" : "MITRE" ,
"data_type" : "CVE" ,
"data_version" : "4.0" ,
2020-06-25 17:01:46 +00:00
"description" : {
"description_data" : [
{
"lang" : "eng" ,
2020-09-25 19:01:48 +00:00
"value" : "In Tensorflow before version 2.3.1, the `RaggedCountSparseOutput` implementation does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the values in the `splits` tensor generate a valid partitioning of the `values` tensor. Hence, the code is prone to heap buffer overflow. If `split_values` does not end with a value at least `num_values` then the `while` loop condition will trigger a read outside of the bounds of `split_values` once `batch_idx` grows too large. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1."
2020-09-25 11:24:41 -06:00
}
]
} ,
"impact" : {
"cvss" : {
"attackComplexity" : "HIGH" ,
"attackVector" : "NETWORK" ,
"availabilityImpact" : "NONE" ,
"baseScore" : 4.8 ,
"baseSeverity" : "MEDIUM" ,
"confidentialityImpact" : "LOW" ,
"integrityImpact" : "LOW" ,
"privilegesRequired" : "NONE" ,
"scope" : "UNCHANGED" ,
"userInteraction" : "NONE" ,
"vectorString" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N" ,
"version" : "3.1"
}
} ,
"problemtype" : {
"problemtype_data" : [
{
"description" : [
{
"lang" : "eng" ,
"value" : "{\"CWE-20\":\"Improper Input Validation\"}"
}
]
} ,
{
"description" : [
{
"lang" : "eng" ,
"value" : "{\"CWE-122\":\"Heap-based Buffer Overflow\"}"
}
]
}
]
} ,
"references" : {
"reference_data" : [
{
"name" : "https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1" ,
"refsource" : "MISC" ,
"url" : "https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1"
} ,
{
"name" : "https://github.com/tensorflow/tensorflow/commit/3cbb917b4714766030b28eba9fb41bb97ce9ee02" ,
"refsource" : "MISC" ,
"url" : "https://github.com/tensorflow/tensorflow/commit/3cbb917b4714766030b28eba9fb41bb97ce9ee02"
2020-09-25 19:01:48 +00:00
} ,
{
"name" : "https://github.com/tensorflow/tensorflow/security/advisories/GHSA-p5f8-gfw5-33w4" ,
"refsource" : "CONFIRM" ,
"url" : "https://github.com/tensorflow/tensorflow/security/advisories/GHSA-p5f8-gfw5-33w4"
2020-06-25 17:01:46 +00:00
}
]
2020-09-25 11:24:41 -06:00
} ,
"source" : {
"advisory" : "GHSA-p5f8-gfw5-33w4" ,
"discovery" : "UNKNOWN"
2020-06-25 17:01:46 +00:00
}
}