CVE-2022-23585
Memory leak in decoding PNG images in Tensorflow
En resumen
TensorFlow pierde memoria al intentar decodificar imágenes PNG inválidas. La aplicación no libera la memoria asignada en casos de error, lo que podría causar agotamiento de memoria si se procesan muchas imágenes malformadas.
Detalle técnico
Existe una fuga de memoria en la función de decodificación PNG de TensorFlow cuando imágenes inválidas desencadenan condiciones de error a través de macros OP_REQUIRES, evitando que se ejecute la rutina de limpieza png::CommonFreeDecode. Esto puede conducir al agotamiento del heap cuando se procesan entradas PNG no confiables o malformadas en aplicaciones que decodifican imágenes repetidamente.
Resumen generado y traducido por IA a partir de la descripción oficial.
Tensorflow is an Open Source Machine Learning Framework. When decoding PNG images TensorFlow can produce a memory leak if the image is invalid. After calling `png::CommonInitDecode(..., &decode)`, the `decode` value contains allocated buffers which can only be freed by calling `png::CommonFreeDecode(&decode)`. However, several error case in the function implementation invoke the `OP_REQUIRES` macro which immediately terminates the execution of the function, without allowing for the memory free to occur. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Productos afectados
tensorflow · tensorflow¿Quieres saber si tu infraestructura está expuesta a esto?
Hablar con TrueHacking →Referencias
https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/kernels/image/decode_image_op.cc#L322-L416https://github.com/tensorflow/tensorflow/commit/ab51e5b813573dc9f51efa335aebcf2994125ee9https://github.com/tensorflow/tensorflow/security/advisories/GHSA-fq6p-6334-8gr4