图片解压缩炸弹问题(image decompression bomb)

https://huzheyang.cn/2018/02/python%E5%9B%BE%E5%BD%A2%E5%BA%93%E5%A4%84%E7%90%86%E5%A4%A7%E5%9E%8B%E5%9B%BE%E7%89%87%E7%9A%84%E6%9C%89%E5%85%B3%E9%97%AE%E9%A2%98/

像素点特别多,但是实际占用空间并不大。Image library在load图片的时候可能会根据像素点分配内存,如果再不设置任何阈值的话,那么就会造成应用程序OOM.

In [20]: im = Image.open('decompression_bomb.png')

/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PIL/Image.py:2496: DecompressionBombWarning: Image size (156250000 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack. DecompressionBombWarning)

Pasted-Image-20231225103242.png

Pasted-Image-20231225104925.png