MediumVulnerability
CVE-2022-23585: TensorFlow memory leak when decoding invalid PNG images
- Source
- NVD(opens in a new tab)
- Identifier
- CVE-2022-23585
- Published
- Record updated
- Affected
- tensorflow < 2.5.3, fixed in 2.5.3, released February 2, 2022, 3 days before disclosure
- tensorflow >= 2.6.0, < 2.6.3, fixed in 2.6.3, released February 2, 2022, 3 days before disclosure
- tensorflow = 2.7.0, fixed in 2.7.1, released February 2, 2022, 3 days before disclosure
- and 6 more
- Known exploitation
- Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
- EPSS
- 1.0%
Summary
TensorFlow's PNG decoder leaks memory when it processes an invalid image. In several error cases, the OP_REQUIRES macro ends png::CommonInitDecode(..., &decode) execution before png::CommonFreeDecode(&decode) can free the buffers it allocated. The fix ships in TensorFlow 2.8.0, with backports to 2.7.1, 2.6.3, and 2.5.3.
Mitigation
Fixed in TensorFlow 2.8.0. The fix will also be cherry-picked to TensorFlow 2.7.1, 2.6.3, and 2.5.3.
Affected packages in the Exposure Registry
Matched by package name and ecosystem. Each entry shows whether the package delegates to a language model and how many tracked packages depend on it.
- tensorflowPyPINo LLM dependency detected · 26 tracked dependents
- tensorflow-gpuPyPINo LLM dependency detected · 2 tracked dependents
Related items
- LowCloakFEM: Agentic FEM Code Generation for Red-Teaming Computational Resource ExhaustionSimilar attack · Arxiv (cs.CR + cs.CL + cs.LG)
- MediumThe Rise of LLMJacking: How Threat Actors Monetize Compromised Cloud and Model ResourcesSimilar attack · Google Threat Intelligence
- InfoThe Blind Spots of Detection: Adversarial Perturbation Attacks against Watchdogs in Distributed LLM InferenceSimilar attack · Arxiv (cs.CR + cs.CL + cs.LG)
- HighCVE-2026-118761: Kubeflow Pipelines decompression bomb in pipeline archive uploadSimilar attack · NVD/CVE Database
- LowOpenCode User Hit with Hostile Backlash After Reporting Free AI LoopholeSimilar attack · Socket Blog