In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the implementation of SparseFillEmptyRowsGrad uses a double indexing pattern. It is possible for reverse_index_map(i) to be an index outside of bounds of grad_values, thus resulting in a heap buffer overflow. 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.
{
"unresolved_ranges": [
{
"vendor_product": "opensuse:leap",
"cpes": [
"cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*"
],
"extracted_events": [
{
"introduced": "15.2"
},
{
"last_affected": "15.2"
}
],
"source": "CPE_STRING"
}
]
}{
"cpe": "cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "1.15.4"
},
{
"introduced": "2.0.0"
},
{
"fixed": "2.0.3"
},
{
"introduced": "2.1.0"
},
{
"fixed": "2.1.2"
},
{
"introduced": "2.2.0"
},
{
"fixed": "2.2.1"
},
{
"introduced": "2.3.0"
},
{
"fixed": "2.3.1"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}
"2026-08-07T15:11:48Z"
[
{
"id": "CVE-2020-15195-36cad8cf",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"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"
}
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15195.json"