Skip to content
MediumVulnerability

CVE-2022-23585: TensorFlow memory leak when decoding invalid PNG images

Identifier
CVE-2022-23585
Published
Record updated
View JSON
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.