CVE-2022-41887
published 2022-11-18CVE-2022-41887: 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`…
PriorityP337high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.44%
35.6th percentile
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.
Affected
7 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | tensorflow | — | — |
| tensorflow | — | — | |
| tensorflow | >= 2.9.0 < 2.9.3 | 2.9.3 | |
| intel | optimization_for_tensorflow | >= 0 < 2.9.3 | 2.9.3 |
| intel | optimization_for_tensorflow | >= 2.10.0 < 2.10.1 | 2.10.1 |
| tensorflow | tensorflow | < 2.9.3 | 2.9.3 |
| tensorflow | tensorflow | — | — |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vendor_debian4.8LOW
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Debian
CVE-2022-41887: tensorflow - TensorFlow is an open source platform for machine learning. `tf.keras.losses.poi...
vendor_debian·2022·CVSS 4.8
CVE-2022-41887 [MEDIUM] CVE-2022-41887: tensorflow - TensorFlow is an open source platform for machine learning. `tf.keras.losses.poi...
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.
Scope: local
forky: resolved
sid: resolved
GHSA
Overflow in `tf.keras.losses.poisson`
ghsa·2022-11-21
CVE-2022-41887 [MEDIUM] CWE-131 Overflow in `tf.keras.losses.poisson`
Overflow in `tf.keras.losses.poisson`
### Impact
[`tf.keras.losses.poisson`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/losses.py) receives a `y_pred` and `y_true` that are passed through `functor::mul` in [`BinaryOp`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/cwise_ops_common.h). If the resulting dimensions overflow an `int32`, TensorFlow will crash due to a size mismatch during broadcast assignment.
```python
import numpy as np
import tensorflow as tf
true_value = tf.reshape(shape=[1, 2500000000], tensor = tf.zeros(dtype=tf.bool, shape=[50000, 50000]))
pred_value = np.array([[[-2]], [[8]]], dtype = np.float64)
tf.keras.losses.poisson(y_true=true_value,y_pred=pred_value)
```
### Patches
We have patched the issue in G
OSV
Overflow in `tf.keras.losses.poisson`
osv·2022-11-21
CVE-2022-41887 [MEDIUM] Overflow in `tf.keras.losses.poisson`
Overflow in `tf.keras.losses.poisson`
### Impact
[`tf.keras.losses.poisson`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/losses.py) receives a `y_pred` and `y_true` that are passed through `functor::mul` in [`BinaryOp`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/cwise_ops_common.h). If the resulting dimensions overflow an `int32`, TensorFlow will crash due to a size mismatch during broadcast assignment.
```python
import numpy as np
import tensorflow as tf
true_value = tf.reshape(shape=[1, 2500000000], tensor = tf.zeros(dtype=tf.bool, shape=[50000, 50000]))
pred_value = np.array([[[-2]], [[8]]], dtype = np.float64)
tf.keras.losses.poisson(y_true=true_value,y_pred=pred_value)
```
### Patches
We have patched the issue in G
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/cwise_ops_common.hhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/losses.pyhttps://github.com/tensorflow/tensorflow/commit/c5b30379ba87cbe774b08ac50c1f6d36df4ebb7chttps://github.com/tensorflow/tensorflow/security/advisories/GHSA-8fvv-46hw-vpg3https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/cwise_ops_common.hhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/losses.pyhttps://github.com/tensorflow/tensorflow/commit/c5b30379ba87cbe774b08ac50c1f6d36df4ebb7chttps://github.com/tensorflow/tensorflow/security/advisories/GHSA-8fvv-46hw-vpg3
2022-11-18
Published