{"id":"CVE-2021-29602","details":"TensorFlow is an end-to-end open source platform for machine learning. The implementation of the `DepthwiseConv` TFLite operator is vulnerable to a division by zero error(https://github.com/tensorflow/tensorflow/blob/1a8e885b864c818198a5b2c0cbbeca5a1e833bc8/tensorflow/lite/kernels/depthwise_conv.cc#L287-L288). An attacker can craft a model such that `input`'s fourth dimension would be 0. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.","aliases":["BIT-tensorflow-2021-29602","GHSA-rf3h-xgv5-2q39","PYSEC-2021-239","PYSEC-2021-530","PYSEC-2021-728"],"modified":"2026-04-02T06:50:20.979909Z","published":"2021-05-14T20:15:15.530Z","related":["GHSA-rf3h-xgv5-2q39"],"references":[{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-rf3h-xgv5-2q39"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/cbda3c6b2dbbd3fbdc482ff8c0170a78ec2e97d0"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tensorflow/tensorflow","events":[{"introduced":"0"},{"fixed":"0931ea3d985bb9c8fdd054a5e29c4129623c849b"},{"introduced":"2b96f3662bd776e277f86997659e61046b56c315"},{"fixed":"cfe0c80169ae984bcdc99ff6de7444164aaa8e07"},{"introduced":"b36436b087bd8e8701ef51718179037cccdfc26e"},{"fixed":"3929ffacfbef7c431e8397920d040aaf47acff19"},{"introduced":"582c8d236cb079023657287c318ff26adb239002"},{"fixed":"1923123d32ea41d92b70a27a3f6ecf0763b56f6c"},{"fixed":"cbda3c6b2dbbd3fbdc482ff8c0170a78ec2e97d0"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"2.1.4"},{"introduced":"2.2.0"},{"fixed":"2.2.3"},{"introduced":"2.3.0"},{"fixed":"2.3.3"},{"introduced":"2.4.0"},{"fixed":"2.4.2"}]}}],"versions":["0.12.0-rc0","0.12.0-rc1","0.12.1","0.5.0","0.6.0","tflite-v0.1.7","v0.10.0","v0.10.0rc0","v0.11.0","v0.11.0rc0","v0.11.0rc1","v0.11.0rc2","v0.12.0","v0.6.0","v0.7.0","v0.7.1","v0.8.0","v0.8.0rc0","v0.9.0","v0.9.0rc0","v1.0.0","v1.0.0-alpha","v1.0.0-rc0","v1.0.0-rc1","v1.0.0-rc2","v1.0.1","v1.1.0","v1.1.0-rc0","v1.1.0-rc1","v1.1.0-rc2","v1.10.0","v1.10.0-rc0","v1.10.0-rc1","v1.10.1","v1.11.0","v1.11.0-rc0","v1.11.0-rc1","v1.11.0-rc2","v1.12.0","v1.12.0-rc0","v1.12.0-rc1","v1.12.0-rc2","v1.12.1","v1.12.2","v1.12.3","v1.13.0-rc0","v1.13.0-rc1","v1.13.0-rc2","v1.13.1","v1.13.2","v1.14.0","v1.14.0-rc0","v1.14.0-rc1","v1.15.0","v1.15.0-rc0","v1.15.0-rc1","v1.15.0-rc2","v1.15.0-rc3","v1.15.2","v1.15.3","v1.15.4","v1.15.5","v1.2.0","v1.2.0-rc0","v1.2.0-rc1","v1.2.0-rc2","v1.2.1","v1.3.0","v1.3.0-rc0","v1.3.0-rc1","v1.3.0-rc2","v1.3.1","v1.4.0","v1.4.0-rc0","v1.4.0-rc1","v1.4.1","v1.5.0","v1.5.0-rc0","v1.5.0-rc1","v1.5.1","v1.6.0","v1.6.0-rc0","v1.6.0-rc1","v1.7.0","v1.7.0-rc0","v1.7.0-rc1","v1.7.1","v1.8.0","v1.8.0-rc0","v1.8.0-rc1","v1.9.0","v1.9.0-rc0","v1.9.0-rc1","v1.9.0-rc2","v2.0.0","v2.0.0-alpha0","v2.0.0-beta0","v2.0.0-beta1","v2.0.0-rc0","v2.0.0-rc1","v2.0.0-rc2","v2.0.1","v2.0.2","v2.0.3","v2.0.4","v2.1.0","v2.1.0-rc0","v2.1.0-rc1","v2.1.0-rc2","v2.1.1","v2.1.2","v2.1.3","v2.2.0","v2.2.0-rc0","v2.2.0-rc1","v2.2.0-rc2","v2.2.0-rc3","v2.2.0-rc4","v2.2.1","v2.2.2","v2.3.0","v2.3.0-rc0","v2.3.0-rc1","v2.3.0-rc2","v2.3.1","v2.3.2","v2.4.0","v2.4.0-rc0","v2.4.0-rc1","v2.4.0-rc2","v2.4.0-rc3","v2.4.0-rc4","v2.4.1","v2.5.0","v2.5.0-rc0","v2.5.0-rc1","v2.5.0-rc2","v2.5.0-rc3","v2.5.1","v2.5.2","v2.5.3"],"database_specific":{"vanir_signatures":[{"source":"https://github.com/tensorflow/tensorflow/commit/cbda3c6b2dbbd3fbdc482ff8c0170a78ec2e97d0","digest":{"line_hashes":["24164040541991266522656627754018429870","272711546305469326913630852463008377539","104785870732273287134076000627535105674","63832537667362199455326601033769916203","37936549176530201268041905867216470523","305055278261790720729836021429841729232","245400044068168284329209705824681760951","121574148021014221908464531576175557056","299825342696714683265128201413381423886","64826318536067294973766825823369425134"],"threshold":0.9},"deprecated":false,"target":{"file":"tensorflow/lite/kernels/depthwise_conv.cc"},"signature_type":"Line","signature_version":"v1","id":"CVE-2021-29602-07dc0be4"},{"source":"https://github.com/tensorflow/tensorflow/commit/cbda3c6b2dbbd3fbdc482ff8c0170a78ec2e97d0","digest":{"length":2374,"function_hash":"28671987343337060894437800631746810499"},"deprecated":false,"target":{"file":"tensorflow/lite/kernels/depthwise_conv.cc","function":"EvalHybridPerChannel"},"signature_type":"Function","signature_version":"v1","id":"CVE-2021-29602-77d8556a"},{"source":"https://github.com/tensorflow/tensorflow/commit/cbda3c6b2dbbd3fbdc482ff8c0170a78ec2e97d0","digest":{"length":248,"function_hash":"175320789265558853896109580663740782064"},"deprecated":false,"target":{"file":"tensorflow/lite/kernels/depthwise_conv.cc","function":"ComputeDepthMultiplier"},"signature_type":"Function","signature_version":"v1","id":"CVE-2021-29602-df4e3434"}],"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-29602.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}