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.
[ { "signature_type": "Line", "id": "CVE-2020-15195-36cad8cf", "source": "https://github.com/tensorflow/tensorflow/commit/390611e0d45c5793c7066110af37c8514e6a6c54", "signature_version": "v1", "target": { "file": "tensorflow/core/kernels/sparse_fill_empty_rows_op.cc" }, "digest": { "threshold": 0.9, "line_hashes": [ "259848440958415696715521615731029030452", "218541846242894194789173260655204712511", "71097890848980966314294188268620153762", "138667248717434564490272608563126366461", "208001727616036684745631798481607273358", "134824706081532736489721039651720296162", "87814817203424266253895897990251901181", "291342232809186222451047035231406968374", "91120970708461343970534351591815534898" ] }, "deprecated": false } ]