CVE-2021-41208: Incomplete validation in boosted trees code
Impact The code for boosted trees in TensorFlow is still missing validation. As a result, attackers can trigger denial of service (via dereferencing nullptrs or via CHECK-failures) as well as abuse undefined behavior (binding references to nullptrs). An attacker can also read and write from heap buffers, depending on the API that gets used and the arguments that are passed to the call.
Note: Given that the boosted trees implementation in TensorFlow is unmaintained, it is recommend to no longer use these APIs. Instead, please use the downstream TensorFlow Decision Forests project which is newer and supports more features. We will deprecate TensorFlow's boosted trees APIs in subsequent releases.
Patches We have patched the issue in GitHub commit 5c8c9a8bfe750f9743d0c859bae112060b216f5c.
The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
Attribution This vulnerability has been reported by members of the Aivul Team from Qihoo 360.
Other sources
TensorFlow is an open source platform for machine learning. In affected versions the code for boosted trees in TensorFlow is still missing validation. As a result, attackers can trigger denial of service (via dereferencing nullptrs or via CHECK-failures) as well as abuse undefined behavior (binding references to nullptrs). An attacker can also read and write from heap buffers, depending on the API that gets used and the arguments that are passed to the call. Given that the boosted trees implementation in TensorFlow is unmaintained, it is recommend to no longer use these APIs. We will deprecate TensorFlow's boosted trees APIs in subsequent releases. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2021-41208?
CVE-2021-41208 has a severity rating that may lead to a denial of service due to missing validation in TensorFlow's boosted trees code.
How do I fix CVE-2021-41208?
To fix CVE-2021-41208, upgrade TensorFlow to versions 2.4.4, 2.5.2, or 2.6.1.
What versions of TensorFlow are affected by CVE-2021-41208?
CVE-2021-41208 affects TensorFlow versions between 2.4.0 and 2.4.4, 2.6.0 and 2.6.1, and specific release candidates like 2.7.0-rc0 and 2.7.0-rc1.
What is the impact of CVE-2021-41208?
The impact of CVE-2021-41208 is a potential denial of service attack due to insufficient validation in boosted trees operations.
Is CVE-2021-41208 fixed in the latest TensorFlow versions?
Yes, CVE-2021-41208 is fixed in the latest stable versions of TensorFlow after the release of 2.6.1.