Vulnerability Name:

CVE-2022-23589 (CCN-218892)

Assigned:2022-02-02
Published:2022-02-02
Updated:2022-02-10
Summary:Tensorflow is an Open Source Machine Learning Framework. Under certain scenarios, Grappler component of TensorFlow can trigger a null pointer dereference. There are 2 places where this can occur, for the same malicious alteration of a `SavedModel` file (fixing the first one would trigger the same dereference in the second place). First, during constant folding, the `GraphDef` might not have the required nodes for the binary operation. If a node is missing, the correposning `mul_*child` would be null, and the dereference in the subsequent line would be incorrect. We have a similar issue during `IsIdentityConsumingSwitch`. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.
CVSS v3 Severity:6.5 Medium (CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
5.7 Medium (Temporal CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:U/RL:O/RC:C)
Exploitability Metrics:Attack Vector (AV): Network
Attack Complexity (AC): Low
Privileges Required (PR): Low
User Interaction (UI): None
Scope:Scope (S): Unchanged
Impact Metrics:Confidentiality (C): None
Integrity (I): None
Availibility (A): High
6.5 Medium (CCN CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
5.7 Medium (CCN Temporal CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:U/RL:O/RC:C)
Exploitability Metrics:Attack Vector (AV): Network
Attack Complexity (AC): Low
Privileges Required (PR): Low
User Interaction (UI): None
Scope:Scope (S): Unchanged
Impact Metrics:Confidentiality (C): None
Integrity (I): None
Availibility (A): High
CVSS v2 Severity:4.0 Medium (CVSS v2 Vector: AV:N/AC:L/Au:S/C:N/I:N/A:P)
Exploitability Metrics:Access Vector (AV): Network
Access Complexity (AC): Low
Authentication (Au): Single_Instance
Impact Metrics:Confidentiality (C): None
Integrity (I): None
Availibility (A): Partial
6.8 Medium (CCN CVSS v2 Vector: AV:N/AC:L/Au:S/C:N/I:N/A:C)
Exploitability Metrics:Access Vector (AV): Network
Access Complexity (AC): Low
Athentication (Au): Single_Instance
Impact Metrics:Confidentiality (C): None
Integrity (I): None
Availibility (A): Complete
Vulnerability Type:CWE-476
Vulnerability Consequences:Denial of Service
References:Source: MITRE
Type: CNA
CVE-2022-23589

Source: XF
Type: UNKNOWN
tensorflow-cve202223589-dos(218892)

Source: MISC
Type: Exploit, Third Party Advisory
https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/mutable_graph_view.cc#L59-L74

Source: MISC
Type: Exploit, Third Party Advisory
https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/optimizers/constant_folding.cc#L3466-L3497

Source: MISC
Type: Patch, Third Party Advisory
https://github.com/tensorflow/tensorflow/commit/045deec1cbdebb27d817008ad5df94d96a08b1bf

Source: MISC
Type: Patch, Third Party Advisory
https://github.com/tensorflow/tensorflow/commit/0a365c029e437be0349c31f8d4c9926b69fa3fa1

Source: CCN
Type: TensorFlow GIT Repository
Null pointer dereference in Grappler's IsConstant

Source: CONFIRM
Type: Patch, Third Party Advisory
https://github.com/tensorflow/tensorflow/security/advisories/GHSA-9px9-73fg-3fqp

Source: CCN
Type: IBM Security Bulletin 6564605 (Watson Discovery)
IBM Watson Discovery for IBM Cloud Pak for Data affected by vulnerability in TensorFlow

Vulnerable Configuration:Configuration 1:
  • cpe:/a:google:tensorflow:*:*:*:*:*:*:*:* (Version <= 2.5.2)
  • OR cpe:/a:google:tensorflow:*:*:*:*:*:*:*:* (Version >= 2.6.0 and <= 2.6.2)
  • OR cpe:/a:google:tensorflow:2.7.0:*:*:*:*:*:*:*

  • Configuration CCN 1:
  • cpe:/a:google:tensorflow:2.5.2:*:*:*:*:*:*:*
  • OR cpe:/a:google:tensorflow:2.6.2:*:*:*:*:*:*:*
  • OR cpe:/a:google:tensorflow:2.7.0:*:*:*:*:*:*:*
  • AND
  • cpe:/a:ibm:watson_discovery:2.0.0:*:*:*:*:*:*:*
  • OR cpe:/a:ibm:watson_discovery:2.2.1:*:*:*:*:*:*:*

  • * Denotes that component is vulnerable
    BACK
    google tensorflow *
    google tensorflow *
    google tensorflow 2.7.0
    google tensorflow 2.5.2
    google tensorflow 2.6.2
    google tensorflow 2.7.0
    ibm watson discovery 2.0.0
    ibm watson discovery 2.2.1