GHSA-pqhm-4wvf-2jg8: Missing validation in `QuantizedConv2D` results in undefined behavior in TensorFlow
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, the implementation of tf.rawops.QuantizedConv2D does not fully validate the input arguments. In this case, references get bound to nullptr for each argument that is empty. Versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 contain a patch for this issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.9.0 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.8.1 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.7.2 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.6.4
Event History
Frequently Asked Questions
Which TensorFlow releases fix this issue?
The issue is patched in TensorFlow 2.6.4, 2.7.2, 2.8.1, and 2.9.0. Releases prior to those versions are affected.
What must an attacker be able to do to trigger the problem?
An attacker needs local access and low privileges, and must be able to invoke tf.raw_ops.QuantizedConv2D with empty input arguments. Empty arguments can cause internal references to bind to nullptr.
What is the likely impact of successful exploitation?
The supplied severity vector indicates high availability impact, with no confidentiality or integrity impact. The invalid arguments can lead to undefined behavior through a null pointer dereference.
What can be done if an upgrade cannot happen immediately?
Prevent untrusted or insufficiently validated code from calling tf.raw_ops.QuantizedConv2D with empty arguments. Validate that all arguments passed to this operation are non-empty.