Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency pillow to v9 [security] #1406

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 6, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Pillow (changelog) ==8.3.2 -> ==9.2.0 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2022-22816

path_getbbox in path.c in Pillow before 9.0.0 has a buffer over-read during initialization of ImagePath.Path.

CVE-2022-22815

Pillow is the friendly PIL (Python Imaging Library) fork. path_getbbox in path.c in Pillow before 9.0.0 improperly initializes ImagePath.Path.

CVE-2022-24303

Pillow before 9.0.1 allows attackers to delete files because spaces in temporary pathnames are mishandled.

GHSA-4fx9-vc88-q2xc

JpegImagePlugin may append an EOF marker to the end of a truncated file, so that the last segment of the data will still be processed by the decoder.

If the EOF marker is not detected as such however, this could lead to an infinite loop where JpegImagePlugin keeps trying to end the file.

CVE-2022-22817

PIL.ImageMath.eval in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that use the Python exec method ImageMath.eval("exec(exit())").

While Pillow 9.0.0 restricted top-level builtins available to PIL.ImageMath.eval(), it did not prevent builtins available to lambda expressions. These are now also restricted in 9.0.1.

CVE-2022-45198

Pillow before 9.2.0 performs Improper Handling of Highly Compressed GIF Data (Data Amplification).


Release Notes

python-pillow/Pillow (Pillow)

v9.2.0

Compare Source

  • Deprecate ImageFont.getsize and related functions #​6381
    [nulano, radarhere]

  • Fixed null check for fribidi_version_info in FriBiDi shim #​6376
    [nulano]

  • Added GIF decompression bomb check #​6402
    [radarhere]

  • Handle PCF fonts files with less than 256 characters #​6386
    [dawidcrivelli, radarhere]

  • Improved GIF optimize condition #​6378
    [raygard, radarhere]

  • Reverted to array_interface with the release of NumPy 1.23 #​6394
    [radarhere]

  • Pad PCX palette to 768 bytes when saving #​6391
    [radarhere]

  • Fixed bug with rounding pixels to palette colors #​6377
    [btrekkie, radarhere]

  • Use gnome-screenshot on Linux if available #​6361
    [radarhere, nulano]

  • Fixed loading L mode BMP RLE8 images #​6384
    [radarhere]

  • Fixed incorrect operator in ImageCms error #​6370
    [LostBenjamin, hugovk, radarhere]

  • Limit FPX tile size to avoid extending outside image #​6368
    [radarhere]

  • Added support for decoding plain PPM formats #​5242
    [Piolie, radarhere]

  • Added apply_transparency() #​6352
    [radarhere]

  • Fixed behaviour change from endian fix #​6197
    [radarhere]

  • Allow remapping P images with RGBA palettes #​6350
    [radarhere]

  • Fixed drawing translucent 1px high polygons #​6278
    [radarhere]

  • Pad COLORMAP to 768 items when saving TIFF #​6232
    [radarhere]

  • Fix P -> PA conversion #​6337
    [RedShy, radarhere]

  • Once exif data is parsed, do not reload unless it changes #​6335
    [radarhere]

  • Only try to connect discontiguous corners at the end of edges #​6303
    [radarhere]

  • Improve transparency handling when saving GIF images #​6176
    [radarhere]

  • Do not update GIF frame position until local image is found #​6219
    [radarhere]

  • Netscape GIF extension belongs after the global color table #​6211
    [radarhere]

  • Only write GIF comments at the beginning of the file #​6300
    [raygard, radarhere]

  • Separate multiple GIF comment blocks with newlines #​6294
    [raygard, radarhere]

  • Always use GIF89a for comments #​6292
    [raygard, radarhere]

  • Ignore compression value from BMP info dictionary when saving as TIFF #​6231
    [radarhere]

  • If font is file-like object, do not re-read from object to get variant #​6234
    [radarhere]

  • Raise ValueError when trying to access internal fp after close #​6213
    [radarhere]

  • Support more affine expression forms in im.point() #​6254
    [benrg, radarhere]

  • Populate Python palette in fromarray() #​6283
    [radarhere]

  • Raise ValueError if PNG chunks are truncated #​6253
    [radarhere]

  • Use durations from each frame by default when saving GIFs #​6265
    [radarhere]

  • Adjust BITSPERSAMPLE to match SAMPLESPERPIXEL when opening TIFFs #​6270
    [radarhere]

  • Search pkgconf system libs/cflags #​6138
    [jameshilliard, radarhere]

  • Raise ValueError for invalid PPM maxval #​6242
    [radarhere]

  • Corrected screencapture argument in ImageGrab.grab() #​6244
    [axt-one]

  • Deprecate support for Qt 5 (PyQt5 and PySide2) #​6237
    [hugovk, radarhere]

  • Increase wait time of temporary file deletion on Windows #​6224
    [AlexTedeschi]

  • Deprecate FreeTypeFont.getmask2 fill parameter #​6220
    [nulano, radarhere, hugovk]

  • Round lut values where necessary #​6188
    [radarhere]

  • Load before getting size in resize() #​6190
    [radarhere]

  • Load image before performing size calculations in thumbnail() #​6186
    [radarhere]

  • Deprecated PhotoImage.paste() box parameter #​6178
    [radarhere]

v9.1.1

Compare Source

  • When reading past the end of a TGA scan line, reduce bytes left. CVE-2022-30595
    [radarhere]

  • Do not open images with zero or negative height #​6269
    [radarhere]

v9.1.0

Compare Source

  • Add support for multiple component transformation to JPEG2000 #​5500
    [scaramallion, radarhere, hugovk]

  • Fix loading FriBiDi on Alpine #​6165
    [nulano]

  • Added setting for converting GIF P frames to RGB #​6150
    [radarhere]

  • Allow 1 mode images to be inverted #​6034
    [radarhere]

  • Raise ValueError when trying to save empty JPEG #​6159
    [radarhere]

  • Always save TIFF with contiguous planar configuration #​5973
    [radarhere]

  • Connected discontiguous polygon corners #​5980
    [radarhere]

  • Ensure Tkinter hook is activated for getimage() #​6032
    [radarhere]

  • Use screencapture arguments to crop on macOS #​6152
    [radarhere]

  • Do not mark L mode JPEG as 1 bit in PDF #​6151
    [radarhere]

  • Added support for reading I;16R TIFF images #​6132
    [radarhere]

  • If an error occurs after creating a file, remove the file #​6134
    [radarhere]

  • Fixed calling DisplayViewer or XVViewer without a title #​6136
    [radarhere]

  • Retain RGBA transparency when saving multiple GIF frames #​6128
    [radarhere]

  • Save additional ICO frames with other bit depths if supplied #​6122
    [radarhere]

  • Handle EXIF data truncated to just the header #​6124
    [radarhere]

  • Added support for reading BMP images with RLE8 compression #​6102
    [radarhere]

  • Support Python distributions where _tkinter is compiled in #​6006
    [lukegb]

  • Added support for PPM arbitrary maxval #​6119
    [radarhere]

  • Added BigTIFF reading #​6097
    [radarhere]

  • When converting, clip I;16 to be unsigned, not signed #​6112
    [radarhere]

  • Fixed loading L mode GIF with transparency #​6086
    [radarhere]

  • Improved handling of PPM header #​5121
    [Piolie, radarhere]

  • Reset size when seeking away from "Large Thumbnail" MPO frame #​6101
    [radarhere]

  • Replace requirements.txt with extras #​6072
    [hugovk, radarhere]

  • Added PyEncoder and support BLP saving #​6069
    [radarhere]

  • Handle TGA images with packets that cross scan lines #​6087
    [radarhere]

  • Added FITS reading #​6056
    [radarhere, hugovk]

  • Added rawmode argument to Image.getpalette() #​6061
    [radarhere]

  • Fixed BUFR, GRIB and HDF5 stub saving #​6071
    [radarhere]

  • Do not automatically remove temporary ImageShow files on Unix #​6045
    [radarhere]

  • Correctly read JPEG compressed BLP images #​4685
    [Meithal, radarhere]

  • Merged _MODE_CONV typ into ImageMode as typestr #​6057
    [radarhere]

  • Consider palette size when converting and in getpalette() #​6060
    [radarhere]

  • Added enums #​5954
    [radarhere]

  • Ensure image is opaque after converting P to PA with RGB palette #​6052
    [radarhere]

  • Attach RGBA palettes from putpalette() when suitable #​6054
    [radarhere]

  • Added get_photoshop_blocks() to parse Photoshop TIFF tag #​6030
    [radarhere]

  • Drop excess values in BITSPERSAMPLE #​6041
    [mikhail-iurkov]

  • Added unpacker from RGBA;15 to RGB #​6031
    [radarhere]

  • Enable arm64 for MSVC on Windows #​5811
    [gaborkertesz-linaro, gaborkertesz]

  • Keep IPython/Jupyter text/plain output stable #​5891
    [shamrin, radarhere]

  • Raise an error when performing a negative crop #​5972
    [radarhere, hugovk]

  • Deprecated show_file "file" argument in favour of "path" #​5959
    [radarhere]

  • Fixed SPIDER images for use with Bio-formats library #​5956
    [radarhere]

  • Ensure duplicated file pointer is closed #​5946
    [radarhere]

  • Added specific error if path coordinate type is incorrect #​5942
    [radarhere]

  • Return an empty bytestring from tobytes() for an empty image #​5938
    [radarhere]

  • Remove readonly from Image.eq #​5930
    [hugovk]

v9.0.1

Compare Source

v9.0.0

Compare Source

  • Restrict builtins for ImageMath.eval(). CVE-2022-22817 #​5923
    [radarhere]

  • Ensure JpegImagePlugin stops at the end of a truncated file #​5921
    [radarhere]

  • Fixed ImagePath.Path array handling. CVE-2022-22815, CVE-2022-22816 #​5920
    [radarhere]

  • Remove consecutive duplicate tiles that only differ by their offset #​5919
    [radarhere]

  • Improved I;16 operations on big endian #​5901
    [radarhere]

  • Limit quantized palette to number of colors #​5879
    [radarhere]

  • Fixed palette index for zeroed color in FASTOCTREE quantize #​5869
    [radarhere]

  • When saving RGBA to GIF, make use of first transparent palette entry #​5859
    [radarhere]

  • Pass SAMPLEFORMAT to libtiff #​5848
    [radarhere]

  • Added rounding when converting P and PA #​5824
    [radarhere]

  • Improved putdata() documentation and data handling #​5910
    [radarhere]

  • Exclude carriage return in PDF regex to help prevent ReDoS #​5912
    [hugovk]

  • Fixed freeing pointer in ImageDraw.Outline.transform #​5909
    [radarhere]

  • Added ImageShow support for xdg-open #​5897
    [m-shinder, radarhere]

  • Support 16-bit grayscale ImageQt conversion #​5856
    [cmbruns, radarhere]

  • Convert subsequent GIF frames to RGB or RGBA #​5857
    [radarhere]

  • Do not prematurely return in ImageFile when saving to stdout #​5665
    [infmagic2047, radarhere]

  • Added support for top right and bottom right TGA orientations #​5829
    [radarhere]

  • Corrected ICNS file length in header #​5845
    [radarhere]

  • Block tile TIFF tags when saving #​5839
    [radarhere]

  • Added line width argument to polygon #​5694
    [radarhere]

  • Do not redeclare class each time when converting to NumPy #​5844
    [radarhere]

  • Only prevent repeated polygon pixels when drawing with transparency #​5835
    [radarhere]

  • Add support for pickling TrueType fonts #​5826
    [hugovk, radarhere]

  • Only prefer command line tools SDK on macOS over default MacOSX SDK #​5828
    [radarhere]

  • Drop support for soon-EOL Python 3.6 #​5768
    [hugovk, nulano, radarhere]

  • Fix compilation on 64-bit Termux #​5793
    [landfillbaby]

  • Use title for display in ImageShow #​5788
    [radarhere]

  • Remove support for FreeType 2.7 and older #​5777
    [hugovk, radarhere]

  • Fix for PyQt6 #​5775
    [hugovk, radarhere]

  • Removed deprecated PILLOW_VERSION, Image.show command parameter, Image._showxv and ImageFile.raise_ioerror #​5776
    [radarhere]

v8.4.0

Compare Source

  • Prefer global transparency in GIF when replacing with background color #​5756
    [radarhere]

  • Added "exif" keyword argument to TIFF saving #​5575
    [radarhere]

  • Copy Python palette to new image in quantize() #​5696
    [radarhere]

  • Read ICO AND mask from end #​5667
    [radarhere]

  • Actually check the framesize in FliDecode.c #​5659
    [wiredfool]

  • Determine JPEG2000 mode purely from ihdr header box #​5654
    [radarhere]

  • Fixed using info dictionary when writing multiple APNG frames #​5611
    [radarhere]

  • Allow saving 1 and L mode TIFF with PhotometricInterpretation 0 #​5655
    [radarhere]

  • For GIF save_all with palette, do not include palette with each frame #​5603
    [radarhere]

  • Keep transparency when converting from P to LA or PA #​5606
    [radarhere]

  • Copy palette to new image in transform() #​5647
    [radarhere]

  • Added "transparency" argument to EpsImagePlugin load() #​5620
    [radarhere]

  • Corrected pathlib.Path detection when saving #​5633
    [radarhere]

  • Added WalImageFile class #​5618
    [radarhere]

  • Consider I;16 pixel size when drawing text #​5598
    [radarhere]

  • If default conversion from P is RGB with transparency, convert to RGBA #​5594
    [radarhere]

  • Speed up rotating square images by 90 or 270 degrees #​5646
    [radarhere]

  • Add support for reading DPI information from JPEG2000 images
    [rogermb, radarhere]

  • Catch TypeError from corrupted DPI value in EXIF #​5639
    [homm, radarhere]

  • Do not close file pointer when saving SGI images #​5645
    [farizrahman4u, radarhere]

  • Deprecate ImagePalette size parameter #​5641
    [radarhere, hugovk]

  • Prefer command line tools SDK on macOS #​5624
    [radarhere]

  • Added tags when saving YCbCr TIFF #​5597
    [radarhere]

  • PSD layer count may be negative #​5613
    [radarhere]

  • Fixed ImageOps expand with tuple border on P image #​5615
    [radarhere]

  • Fixed error saving APNG with duplicate frames and different duration times #​5609
    [thak1411, radarhere]


Configuration

📅 Schedule: Branch creation - "" in timezone UTC, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants