Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# 8.3.2

## Security

### CVE 2021-23437: Avoid potential ReDoS (regular expression denial of service)

Avoid a potential ReDoS (regular expression denial of service) in `ImageColor`’s `getrgb()` by raising `ValueError` if the color specifier is too long. Present since Pillow 5.2.0.

### Fix 6-byte out-of-bounds (OOB) read

Fix 6-byte out-of-bounds (OOB) read. The previous bounds check in `FliDecode.c` incorrectly calculated the required read buffer size when copying a chunk, potentially reading six extra bytes off the end of the allocated buffer from the heap. Present since Pillow 7.1.0.

This bug was found by Google’s OSS-Fuzz CIFuzz runs.

## Other changes

### Python 3.10 wheels

Pillow now includes binary wheels for Python 3.10.

The Python 3.10 release candidate was released on 2021-08-03 with the final release due 2021-10-04 (PEP 619). The CPython core team strongly encourages maintainers of third-party Python projects to prepare for 3.10 compatibility. And as there are no ABI changes planned we are releasing wheels to help others prepare for 3.10, and ensure Pillow can be used immediately on release day of 3.10.0 final.

### Fixed regressions

- Ensure TIFF `RowsPerStrip` is multiple of 8 for JPEG compression (#5588).

- Updates for `ImagePalette` channel order (#5599).

- Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library (#5651).