Projet

Général

Profil

Development #56305

Mis à jour par Frédéric Péters il y a plus de 2 ans

<pre>
Exception:
type = '<class 'PIL.Image.DecompressionBombError'>', value = 'Image size (739875840 pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.'

Stack trace (most recent call first):
File "/usr/lib/python3/dist-packages/PIL/Image.py", line 2593, in _decompression_bomb_check
2591 "Image size (%d pixels) exceeds limit of %d pixels, "
2592 "could be decompression bomb DOS attack." %
> 2593 (pixels, 2 * MAX_IMAGE_PIXELS))
2594
2595 if pixels > MAX_IMAGE_PIXELS:

locals:
pixels = 739875840
size = (26576, 27840)
...
PATH_INFO '/vie-pratique/demander-mon-pass-lillemoi/38610/files/18/thumbnail/Nume_riser.jpeg'
</pre>

Même si ce scan est légitime, ça me va très bien que PIL saute ainsi, il y a juste à l'attraper pour ne pas fournir une 500.

Si on a l'info au moment où ça se décide (mais je ne crois pas), on pourrait en amont dire que les images d'une certaine taille (en octets) ne peuvent pas produire de vignettes, tout simplement. (ici le fichier fait 143M)

<pre>
JPEG image data, JFIF standard 1.01, aspect ratio, density 3200x3200, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=9, manufacturer=EPSON, model=XP-600, orientation=upper-left, xresolution=136, yresolution=144, resolutionunit=2, software=Apple Image Capture, hostcomputer=Apple Mac OS X], baseline, precision 8, 26576x27840, components 3
</pre>

Retour