Security readout for executives and security teams
Plain-English summary
CVE-2021-37669 is a TensorFlow denial-of-service flaw. Certain model-serving workloads using TensorFlow non-maximum suppression operations can be crashed when a negative, user-controlled size value is mishandled during vector resizing. The impact is service availability, not data theft or code execution.
Executive priority
Prioritize remediation for production ML services where untrusted users can influence inference inputs. This is not described as remote code execution, but a reliable crash against exposed model-serving workloads can create outage risk and operational disruption.
Technical view
Affected TensorFlow versions mishandle integer conversion in tf.raw_ops.NonMaxSuppressionV5 and CombinedNonMaxSuppression. A signed int output_size can be implicitly converted to unsigned size_t for std::vector::resize. Negative input can produce an invalid resize path and crash the process through division by zero or related failure.
Likely exposure
Exposure is most likely where TensorFlow 2.5.0, 2.4.x before 2.4.3, or versions before 2.3.4 serve models that invoke NonMaxSuppressionV5 or CombinedNonMaxSuppression with attacker-influenced inputs. General TensorFlow installations without those reachable operations have lower practical exposure.
Exploitation context
The source CVSS vector indicates local access, low privileges, no user interaction, and high availability impact. The provided sources do not show CISA KEV listing or active exploitation. Treat exploit status as unconfirmed unless new vendor or threat-intelligence evidence appears.
Researcher notes
The key weakness is CWE-681: incorrect numeric conversion between signed and unsigned types. The affected argument reaches std::vector::resize after implicit size_t conversion. The source bundle names two TensorFlow fixing commits and supported release lines receiving backports.
Mitigation direction
- Upgrade to TensorFlow 2.6.0 or a fixed supported branch release.
- For 2.5.x, update to TensorFlow 2.5.1 or later.
- For 2.4.x, update to TensorFlow 2.4.3 or later.
- For 2.3.x, update to TensorFlow 2.3.4 or later.
- Review vendor advisory and commits before applying compensating controls.
Validation and detection
- Inventory TensorFlow versions in model-serving and batch ML environments.
- Identify models or code paths using NonMaxSuppressionV5 or CombinedNonMaxSuppression.
- Confirm deployed packages match fixed TensorFlow versions listed by the advisory.
- Check service logs for unexplained crashes in affected inference workflows.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CWE-681: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCVE-2021-37669 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Medium
- CVSS
- 5.5 (3.1)
- Known Exploited
- No
- Published
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS vector scores
1 official scoreWe collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H1.83.6Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
5.5MediumVector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Source materials
- CVE List V5 sourceCVE List V5
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-vmjw-c2vp-p33cCVE reference · x_refsource_CONFIRM
- https://github.com/tensorflow/tensorflow/commit/3a7362750d5c372420aa8f0caf7bf5b5c3d0f52dCVE reference · x_refsource_MISC
- https://github.com/tensorflow/tensorflow/commit/b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58CVE reference · x_refsource_MISC
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
Incorrect Conversion between Numeric Types
Incorrect Conversion between Numeric Types represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
