GHSA-mw6j-hh29-h379
NoneCVSS
—
EPSS
—
Published
May 25, 2022
CISA due date
—
Cloudanix analysis
A malformed machine-learning input can crash affected TensorFlow-based services, causing outages until the software is updated or the input is blocked.
- Exploitation
- Other
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This vulnerability is a TensorFlow denial-of-service flaw in depthwise operation handling. Crafted tensor shapes, convolution parameters, or model graph inputs can trigger integer overflows in TensorFlow depthwise operations, causing an internal CHECK assertion failure. In affected versions of the tensorflow PyPI package, this typically terminates the process rather than safely rejecting the invalid operation. The expected impact is process crash and service interruption, not code execution or data disclosure based on the available advisory information.
Why it matters to the business
Systems that run TensorFlow on untrusted or externally influenced models, tensors, or inference requests can be crashed by malformed input, disrupting ML inference, batch processing, model validation, or data-processing pipelines. The issue is not listed in CISA KEV, has no reported exploit maturity in the provided data, and was published in 2022, so urgency is highest for internet-facing or multi-tenant ML services and lower for isolated workloads that only process trusted models and data.
How an attack unfolds
An attacker needs a path to influence TensorFlow execution, such as submitting an ML model, supplying serialized tensors, controlling image or feature dimensions that become tensor shapes, or interacting with an inference endpoint that accepts user-controlled inputs. The attacker crafts inputs or graph parameters that cause depthwise convolution-related calculations to overflow internal size or shape computations. When TensorFlow evaluates the operation, the overflowed state violates an internal CHECK condition. Instead of returning a controlled validation error, the affected TensorFlow runtime aborts the process. If the vulnerable runtime backs an API, model-serving worker, notebook service, or batch job, exploitation results in worker crashes, failed requests, job termination, and possible repeated service disruption if the payload is replayed.
How to fix it
Upgrade the tensorflow PyPI package to a fixed version. The provided fixed version is tensorflow 2.6.4; where possible, upgrade to 2.6.4 or a later supported TensorFlow release that includes the fix. Rebuild and redeploy containers, virtual environments, notebooks, model-serving images, and batch-processing runtimes that bundle TensorFlow. If immediate upgrade is not possible, reduce exposure by rejecting untrusted models, validating tensor shapes and convolution parameters before execution, applying strict input size limits, isolating TensorFlow execution in restartable sandboxes, and using queue/rate controls to prevent repeated crash loops from exhausting capacity.
How to confirm the fix worked
Confirm that all deployed Python environments and container images use a fixed TensorFlow version by checking package inventories, lockfiles, SBOMs, and runtime output such as `pip show tensorflow` or `python -c "import tensorflow as tf; print(tf.__version__)"`. Verify that no production image, notebook kernel, or model-serving runtime still includes an affected tensorflow build. After upgrading, run regression tests for workloads using depthwise convolution operations and confirm malformed or oversized inputs are rejected gracefully rather than terminating the process. Validate operationally by confirming that service workers remain stable under invalid-input tests and that container or process restart counts do not increase.
Typical attack path
- Identify an application, API, notebook, pipeline, or model-serving endpoint that uses an affected tensorflow PyPI version.
- Find a way to influence TensorFlow tensors, model graphs, convolution parameters, image dimensions, or serialized model/input content.
- Craft malformed depthwise-operation input with dimensions or parameters intended to trigger integer overflow in TensorFlow internal calculations.
- Submit the crafted input or model to the vulnerable service or processing pipeline.
- TensorFlow evaluates the depthwise operation, hits a CHECK failure, and aborts the process.
- Repeat submissions to keep workers, jobs, or serving instances unavailable until the service is patched or input validation blocks the payload.
How to detect it
Look for evidence of process crashes or repeated worker restarts correlated with TensorFlow depthwise operations or unusual model/input submissions. Relevant sources include application logs, model-serving logs, API gateway logs, container stdout/stderr, Kubernetes events, systemd or supervisor logs, crash dumps, Python exception logs, and workload scheduler logs. Indicators include TensorFlow fatal CHECK failures, SIGABRT events, core dumps from Python or TensorFlow-serving processes, sudden spikes in 5xx responses or inference timeouts, and repeated requests containing unusually large or malformed tensor/image dimensions shortly before crashes. If model upload or serialized input is supported, review submissions immediately preceding the crash for depthwise convolution operations and abnormal shape parameters. Because this is a denial-of-service bug rather than a persistent compromise technique, absence of files or persistence artifacts does not rule out exploitation; focus on runtime crash telemetry and request/model history.
- Check failed:
- CHECK failure
- DepthwiseConv2dNative
- DepthwiseConv2dNativeBackpropInput
- DepthwiseConv2dNativeBackpropFilter
- depthwise
- SIGABRT
- Aborted (core dumped)
- tensorflow/core/kernels/depthwise_conv_op
- Fatal Python error
- core dumped
What your security team should do
- Inventory all uses of the tensorflow PyPI package across applications, containers, notebooks, ML serving platforms, CI jobs, and batch-processing environments.
- Prioritize upgrades for internet-facing, user-facing, or multi-tenant systems that process untrusted models or untrusted tensor/input data.
- Upgrade tensorflow to 2.6.4 or a later supported fixed release and rebuild all dependent artifacts rather than only changing source dependency files.
- Add input validation for tensor dimensions, image sizes, convolution parameters, and model upload workflows before data reaches TensorFlow execution.
- Block or quarantine untrusted model files unless they are scanned, validated, and executed in a sandboxed environment.
- Add monitoring for TensorFlow process aborts, CHECK failures, core dumps, container restarts, and repeated failed inference requests.
- For services that cannot be patched immediately, isolate vulnerable workers, apply request size limits and rate limits, and ensure supervisors restart crashed workers without causing cascading outages.
The record
`CHECK` failure in depthwise ops via overflows
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | tensorflow | 0 | 2.6.4 |
| PyPI | tensorflow | 2.7.0 | 2.7.2 |
| PyPI | tensorflow | 2.8.0 | 2.8.1 |
| PyPI | tensorflow-cpu | 0 | 2.6.4 |
| PyPI | tensorflow-cpu | 2.7.0 | 2.7.2 |
| PyPI | tensorflow-cpu | 2.8.0 | 2.8.1 |
| PyPI | tensorflow-gpu | 0 | 2.6.4 |
| PyPI | tensorflow-gpu | 2.7.0 | 2.7.2 |
| PyPI | tensorflow-gpu | 2.8.0 | 2.8.1 |
| pypi | tensorflow | 2.7.0 | No fix |
| pypi | tensorflow | 2.8.0 | No fix |
| pypi | tensorflow-cpu | 2.7.0 | No fix |
| pypi | tensorflow-cpu | 2.8.0 | No fix |
| pypi | tensorflow-gpu | 2.7.0 | No fix |
| pypi | tensorflow-gpu | 2.8.0 | No fix |
Related vulnerabilities
- GHSA-cqvq-fvhr-v6hc `CHECK` failure in `SobolSample` via missing validation Also affects tensorflow
- GHSA-xf83-q765-xm6m `CHECK` fail in `TensorListScatter` and `TensorListScatterV2` in eager mode Also affects tensorflow
- GHSA-h6gw-r52c-724r NULL Pointer Dereference and Access of Uninitialized Pointer in TensorFlow Also affects tensorflow
- GHSA-43q8-3fv7-pr5x Improper Validation of Integrity Check Value in TensorFlow Also affects tensorflow
- GHSA-wcv5-vrvr-3rx2 Integer Overflow or Wraparound in TensorFlow Also affects tensorflow
- CVE-2026-110264 An issue has been discovered in GitLab CE/EE affecting all versions from 7.0 before… CWE-190
- CVE-2026-53615 util-linux is a random collection of Linux utilities. CWE-190
- CVE-2026-106574 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-190