O Pillow contém um problema de leitura fora dos limites (out-of-bounds read) ao decodificar certos arquivos TIFF compactados malformados. O problema ocorre nas funções ` decodeTile()` e ` decodeAsRGBA()` em `src/libImaging/TiffDecode.c`. Quando o Pillow e o libtiff interpretam tags duplicadas de `PhotometricInterpretation` ou `BitsPerSample` de forma diferente, o Pillow pode não verificar se a linha de entrada necessária cabe no buffer produzido pelo libtiff.
Um invasor pode explorar isso fornecendo um arquivo TIFF manipulado que faz com que o descompactador leia além do final de um buffer de heap. Isso pode resultar na cópia de fragmentos da memória heap do processo, incluindo valores de ponteiros, para os pixels da imagem de saída. Em casos onde o arquivo é maior, isso pode levar ao travamento do processo (falha de segmentação).