CVE-2022-41887

Overflow in `tf.keras.losses.poisson` in Tensorflow

State
Published
Severity
4.8 Medium
Published
Nov 18, 2022
Updated
Apr 22, 2025
Reserved
Sep 30, 2022

Read the record on cve.org

Description

TensorFlow is an open source platform for machine learning. `tf.keras.losses.poisson` receives a `y_pred` and `y_true` that are passed through `functor::mul` in `BinaryOp`. If the resulting dimensions overflow an `int32`, TensorFlow will crash due to a size mismatch during broadcast assignment. We have patched the issue in GitHub commit c5b30379ba87cbe774b08ac50c1f6d36df4ebb7c. The fix will be included in TensorFlow 2.11. We will also cherrypick this commit on TensorFlow 2.10.1 and 2.9.3, as these are also affected and still in supported range. However, we will not cherrypick this commit into TensorFlow 2.8.x, as it depends on Eigen behavior that changed between 2.8 and 2.9.

Scores

CVSSScoreVectorSource
3.14.8 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:HGitHub_M

Weaknesses

  • CWE-131 Incorrect Calculation of Buffer Size

Affected Products

ProductVersions
tensorflowtensorflow
  • >= 2.10.0, < 2.10.1Affected
  • < 2.9.3Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.