CVE-2022-23585
Memory leak in decoding PNG images in Tensorflow
Em resumo
TensorFlow vaza memória ao tentar decodificar imagens PNG inválidas. O aplicativo não libera a memória alocada em casos de erro, o que pode causar esgotamento de memória se muitas imagens malformadas forem processadas.
Detalhe técnico
Existe um vazamento de memória na função de decodificação PNG do TensorFlow quando imagens inválidas disparam condições de erro através das macros OP_REQUIRES, impedindo que a rotina de limpeza png::CommonFreeDecode seja executada. Isso pode levar ao esgotamento da pilha quando se processam entradas PNG não confiáveis ou malformadas em aplicações que decodificam imagens repetidamente.
Resumo gerado e traduzido por IA a partir da descrição 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
Produtos afetados
tensorflow · tensorflowQuer saber se a sua infraestrutura está exposta a isto?
Falar com a TrueHacking →Referências
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