{"api_version":"1","generated_at":"2026-07-24T22:04:19+00:00","cve":"CVE-2021-29525","urls":{"html":"https://cve.report/CVE-2021-29525","api":"https://cve.report/api/cve/CVE-2021-29525.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-29525","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-29525"},"summary":{"title":"CVE-2021-29525","description":"TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2DBackpropInput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/b40060c9f697b044e3107917c797ba052f4506ab/tensorflow/core/kernels/conv_grad_input_ops.h#L625-L655) does a division by a quantity that is controlled by the caller. 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.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2021-05-14 20:15:00","updated_at":"2021-05-19 17:10:00"},"problem_types":["CWE-369"],"metrics":[],"references":[{"url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-xm2v-8rrw-w9pm","name":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-xm2v-8rrw-w9pm","refsource":"CONFIRM","tags":[],"title":"Division by 0 in `Conv2DBackpropInput` · Advisory · tensorflow/tensorflow · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/tensorflow/tensorflow/commit/2be2cdf3a123e231b16f766aa0e27d56b4606535","name":"https://github.com/tensorflow/tensorflow/commit/2be2cdf3a123e231b16f766aa0e27d56b4606535","refsource":"MISC","tags":[],"title":"Prevent yet another division by zero · tensorflow/tensorflow@2be2cdf · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-29525","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29525","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2021","cve_id":"29525","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"google","cpe5":"tensorflow","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2021-29525","qid":"982521","title":"Python (pip) Security Update for tensorflow-gpu (GHSA-xm2v-8rrw-w9pm)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2021-29525","STATE":"PUBLIC","TITLE":"Division by 0 in `Conv2DBackpropInput`"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"tensorflow","version":{"version_data":[{"version_value":"< 2.1.4"},{"version_value":">= 2.2.0, < 2.2.3"},{"version_value":">= 2.3.0, < 2.3.3"},{"version_value":">= 2.4.0, < 2.4.2"}]}}]},"vendor_name":"tensorflow"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2DBackpropInput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/b40060c9f697b044e3107917c797ba052f4506ab/tensorflow/core/kernels/conv_grad_input_ops.h#L625-L655) does a division by a quantity that is controlled by the caller. 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."}]},"impact":{"cvss":{"attackComplexity":"HIGH","attackVector":"LOCAL","availabilityImpact":"LOW","baseScore":2.5,"baseSeverity":"LOW","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-369: Divide By Zero"}]}]},"references":{"reference_data":[{"name":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-xm2v-8rrw-w9pm","refsource":"CONFIRM","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-xm2v-8rrw-w9pm"},{"name":"https://github.com/tensorflow/tensorflow/commit/2be2cdf3a123e231b16f766aa0e27d56b4606535","refsource":"MISC","url":"https://github.com/tensorflow/tensorflow/commit/2be2cdf3a123e231b16f766aa0e27d56b4606535"}]},"source":{"advisory":"GHSA-xm2v-8rrw-w9pm","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2021-05-14 20:15:00","lastModifiedDate":"2021-05-19 17:10:00","problem_types":["CWE-369"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":7.8,"baseSeverity":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:L/AC:L/Au:N/C:P/I:P/A:P","accessVector":"LOCAL","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":4.6},"severity":"MEDIUM","exploitabilityScore":3.9,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*","versionStartIncluding":"2.4.0","versionEndExcluding":"2.4.2","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*","versionStartIncluding":"2.3.0","versionEndExcluding":"2.3.3","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*","versionStartIncluding":"2.2.0","versionEndExcluding":"2.2.3","cpe_name":[]},{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*","versionEndExcluding":"2.1.4","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"29525","Ordinal":"204729","Title":"CVE-2021-29525","CVE":"CVE-2021-29525","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"29525","Ordinal":"1","NoteData":"TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2DBackpropInput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/b40060c9f697b044e3107917c797ba052f4506ab/tensorflow/core/kernels/conv_grad_input_ops.h#L625-L655) does a division by a quantity that is controlled by the caller. 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.","Type":"Description","Title":null},{"CveYear":"2021","CveId":"29525","Ordinal":"2","NoteData":"2021-05-14","Type":"Other","Title":"Published"},{"CveYear":"2021","CveId":"29525","Ordinal":"3","NoteData":"2021-05-14","Type":"Other","Title":"Modified"}]}}}