Buffer overflow in Google Tensorflow
CVE-2022-29210
TensorFlow is an open source platform for machine learning. In version 2.8.0, the `TensorKey` hash function used total estimated `AllocatedBytes()`, which (a) is an estimate per tensor, and (b) is a very poor hash function for constants (e.g. `int32_t`). It also tried to access individual tensor bytes through `tensor.data()` of size `AllocatedBytes()`. This led to ASAN failures because the `AllocatedBytes()` is an estimate of total bytes allocated by a tensor, including any pointed-to constructs (e.g. strings), and does not refer to contiguous bytes in the `.data()` buffer. The discoverers could not use this byte vector anyway because types such as `tstring` include pointers, whereas they needed to hash the string values themselves. This issue is patched in Tensorflow versions 2.9.0 and 2.8.1.
Vulnerability class: Buffer Overflow
Published · last modified .
CVSS v3 metric
CVSS v3 base score 5.5 (Medium). Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.
EPSS exploit prediction
EPSS: 0.002 (12.1th percentile), scored .
Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 12th percentile — 12.1% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.002 · newest: 0.002 · change: 0.000
Affected products
- Google Tensorflow — versions 2.8.0
- Tensorflow — versions == 2.8.0
Weakness classification (CWE)
References
- github.com/tensorflow/tensorflow/releases/tag/v2.8.1 (Third Party Advisory, Release Notes)
- github.com/tensorflow/tensorflow/releases/tag/v2.9.0 (Third Party Advisory, Release Notes)
- github.com/tensorflow/tensorflow/security/advisories/GHSA-hc2f-7r5r-r2hg (Patch, Third Party Advisory)
- github.com/tensorflow/tensorflow/commit/1b85a28d395dc91f4d22b5f9e1e9a22e92ccecd6 (Patch, Third Party Advisory)
- github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/… (Third Party Advisory)
Frequently asked questions
- What is CVE-2022-29210?
- CVE-2022-29210 is a medium-severity vulnerability in Google Tensorflow, classified under Buffer Copy without Checking Size of Input (Classic Buffer Overflow). CVSS score: 5.5/10. Published 2022-05-21.
- How severe is CVE-2022-29210?
- Medium severity. CVSS v3 base score is 5.5 out of 10.