Skip to content
LowVulnerability

CVE-2021-29530: TensorFlow null pointer dereference in SparseMatrixSparseCholesky

Identifier
CVE-2021-29530
Published
Record updated
View JSON
Affected
  • tensorflow < 2.1.4, fixed in 2.1.4, released June 15, 2021, 31 days after disclosure
  • tensorflow >= 2.2.0, < 2.2.3, fixed in 2.2.3, released June 15, 2021, 31 days after disclosure
  • tensorflow >= 2.3.0, < 2.3.3, fixed in 2.3.3, released June 15, 2021, 31 days after disclosure
  • and 9 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

TensorFlow is affected by CVE-2021-29530, a null pointer dereference that an attacker can trigger by supplying an invalid `permutation` to `tf.raw_ops.SparseMatrixSparseCholesky`. The implementation fails to validate its input arguments properly: because the `OP_REQUIRES` macro only exits the current function, the caller of `ValidateInputs` keeps executing after a failed check.

Mitigation

The fix will be included in TensorFlow 2.5.0. The commit will also be cherrypicked to TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4. The source gives the fix approach as either explicitly checking `context->status()` or converting `ValidateInputs` to return a `Status`.