CVE-2022-35965 in TensorFlowinfo

Summary

by MITRE • 09/17/2022

TensorFlow is an open source platform for machine learning. If `LowerBound` or `UpperBound` is given an empty`sorted_inputs` input, it results in a `nullptr` dereference, leading to a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit bce3717eaef4f769019fd18e990464ca4a2efeea. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 10/19/2022

This vulnerability affects the TensorFlow machine learning platform and represents a critical denial of service condition stemming from improper input validation in the LowerBound and UpperBound operations. The flaw occurs when these functions receive an empty sorted_inputs parameter, which triggers a null pointer dereference resulting in segmentation fault. This type of vulnerability falls under the category of improper input validation as defined by CWE-248, where the software fails to properly handle exceptional conditions that arise from malformed or unexpected input data. The issue is particularly concerning in machine learning environments where TensorFlow components may be exposed to untrusted input streams or where automated processing pipelines could inadvertently pass empty datasets to these operations.

The technical implementation of this vulnerability demonstrates a classic null pointer dereference pattern that can be exploited by malicious actors to disrupt service availability. When TensorFlow processes the LowerBound or UpperBound operations with empty sorted_inputs, the internal code path fails to validate the input before attempting to access memory locations that have not been properly initialized. This creates a predictable crash condition that can be reliably triggered through controlled input manipulation. The segmentation fault occurs because the software assumes that sorted_inputs will contain valid data and attempts to dereference a null pointer without proper null checking. This behavior aligns with ATT&CK technique T1499.004 which involves network denial of service attacks through resource exhaustion or application crashes.

The operational impact of this vulnerability extends beyond simple service disruption as it can be leveraged in broader attack scenarios where attackers seek to compromise machine learning platforms or data processing pipelines. In environments where TensorFlow is used for critical inference tasks or automated decision making, such a vulnerability could be exploited to cause service unavailability, potentially affecting business operations or even safety-critical systems. The vulnerability affects multiple TensorFlow versions including 2.7.2, 2.8.1, 2.9.1, and the upcoming 2.10.0 release, indicating a widespread impact across the supported version spectrum. The lack of known workarounds means that organizations must either upgrade to patched versions or implement additional protective measures to prevent exploitation.

The fix implemented by the TensorFlow team addresses this issue through proper input validation that checks for empty sorted_inputs before proceeding with the operation. This patch demonstrates a fundamental defensive programming principle that should be applied to all software systems handling external input. The cherrypicking of the fix to older supported versions shows the maintainers' commitment to protecting users across different release cycles. Organizations should prioritize immediate deployment of the patched versions, particularly those running affected TensorFlow versions in production environments. Security teams should monitor for potential exploitation attempts and consider implementing additional input validation layers at network boundaries or application interfaces to provide defense-in-depth against similar vulnerabilities that may exist in other components of their machine learning infrastructure.

Responsible

GitHub, Inc.

Reservation

07/15/2022

Disclosure

09/17/2022

Moderation

accepted

CPE

ready

EPSS

0.00383

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!