In eager mode, TensorFlow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1 does not set the session state. Hence, calling tf.raw_ops.GetSessionHandle
or tf.raw_ops.GetSessionHandleV2
results in a null pointer dereference In linked snippet, in eager mode, ctx->session_state()
returns nullptr
. Since code immediately dereferences this, we get a segmentation fault. The issue is patched in commit 9a133d73ae4b4664d22bd1aa6d654fec13c52ee1, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Tensorflow | * | 1.15.4 (excluding) | |
Tensorflow | 2.0.0 (including) | 2.0.3 (excluding) | |
Tensorflow | 2.1.0 (including) | 2.1.2 (excluding) | |
Tensorflow | 2.2.0 (including) | 2.2.1 (excluding) | |
Tensorflow | 2.3.0 (including) | 2.3.1 (excluding) |