CVE-2021-27922
Pillow Uncontrolled Resource Consumption
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
CVE-2021-27922- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
CVE-2021-27922- Updated
- 2026-11-02
EUVDEUVD-2021-0178
0.0
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
EUVD-2021-0178- CVSS
- 0.0 None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-3wvg-mj6g-m9cv
8.7
Pillow Uncontrolled Resource Consumption
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
GHSA-3wvg-mj6g-m9cv- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20, CWE-400
- Updated
- 2026-11-02
OSVALPINE-CVE-2021-27922
7.5
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
ALPINE-CVE-2021-27922- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSV
7.5
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
CVE-2021-27922- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 18 moreShow less
OSVDEBIAN-CVE-2021-27922
7.5
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
DEBIAN-CVE-2021-27922- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVGHSA-3wvg-mj6g-m9cv
8.7
Pillow Uncontrolled Resource Consumption
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
GHSA-3wvg-mj6g-m9cv- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-20, CWE-400
- Updated
- 2026-11-02
OSVOESA-2021-1127
7.5
python-pillow security update
Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.
Security Fix(es):
In Pillow before 8.1.0, SGIRleDecode has a 4-byte buffer over-read when decoding crafted SGI RLE image files because offsets and length tables are mishandled.(CVE-2020-35655)
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for a BLP container, and thus an attempted memory allocation can be very large.(CVE-2021-27921)
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.(CVE-2021-27922)
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICO container, and thus an attempted memory allocation can be very large.(CVE-2021-27923)
- Record
OESA-2021-1127- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2021-1146
7.5
python-pillow security update
Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.
Security Fix(es):
In Pillow before 8.1.0, SGIRleDecode has a 4-byte buffer over-read when decoding crafted SGI RLE image files because offsets and length tables are mishandled.(CVE-2020-35655)
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for a BLP container, and thus an attempted memory allocation can be very large.(CVE-2021-27921)
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.(CVE-2021-27922)
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICO container, and thus an attempted memory allocation can be very large.(CVE-2021-27923)
- Record
OESA-2021-1146- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2021:4149
9.1
Red Hat Security Advisory: python-pillow security update
- Record
RHSA-2021:4149- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVRLSA-2021:4149
9.1
Moderate: python-pillow security update
The python-pillow packages contain a Python image processing library that provides extensive file format support, an efficient internal representation, and powerful image-processing capabilities.
Security Fix(es):
-
python-pillow: Out-of-bounds read in J2K image reader (CVE-2021-25287)
-
python-pillow: Out-of-bounds read in J2K image reader (CVE-2021-25288)
-
python-pillow: Negative-offset memcpy in TIFF image reader (CVE-2021-25290)
-
python-pillow: Regular expression DoS in PDF format parser (CVE-2021-25292)
-
python-pillow: Out-of-bounds read in SGI RLE image reader (CVE-2021-25293)
-
python-pillow: Excessive memory allocation in BLP image reader (CVE-2021-27921)
-
python-pillow: Excessive memory allocation in ICNS image reader (CVE-2021-27922)
-
python-pillow: Excessive memory allocation in ICO image reader (CVE-2021-27923)
-
python-pillow: Excessive memory allocation in PSD image reader (CVE-2021-28675)
-
python-pillow: Infinite loop in FLI image reader (CVE-2021-28676)
-
python-pillow: Excessive CPU use in EPS image reader (CVE-2021-28677)
-
python-pillow: Excessive looping in BLP image reader (CVE-2021-28678)
-
python-pillow: Buffer overflow in image convert function (CVE-2021-34552)
-
python-pillow: Buffer over-read in PCX image reader (CVE-2020-35653)
-
python-pillow: Buffer over-read in SGI RLE image reader (CVE-2020-35655)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 8.5 Release Notes linked from the References section.
- Record
RLSA-2021:4149- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-27922
7.5
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
UBUNTU-CVE-2021-27922- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVALSA-2021:4149 No score
Moderate: python-pillow security update
The python-pillow packages contain a Python image processing library that provides extensive file format support, an efficient internal representation, and powerful image-processing capabilities.
Security Fix(es):
-
python-pillow: Out-of-bounds read in J2K image reader (CVE-2021-25287)
-
python-pillow: Out-of-bounds read in J2K image reader (CVE-2021-25288)
-
python-pillow: Negative-offset memcpy in TIFF image reader (CVE-2021-25290)
-
python-pillow: Regular expression DoS in PDF format parser (CVE-2021-25292)
-
python-pillow: Out-of-bounds read in SGI RLE image reader (CVE-2021-25293)
-
python-pillow: Excessive memory allocation in BLP image reader (CVE-2021-27921)
-
python-pillow: Excessive memory allocation in ICNS image reader (CVE-2021-27922)
-
python-pillow: Excessive memory allocation in ICO image reader (CVE-2021-27923)
-
python-pillow: Excessive memory allocation in PSD image reader (CVE-2021-28675)
-
python-pillow: Infinite loop in FLI image reader (CVE-2021-28676)
-
python-pillow: Excessive CPU use in EPS image reader (CVE-2021-28677)
-
python-pillow: Excessive looping in BLP image reader (CVE-2021-28678)
-
python-pillow: Buffer overflow in image convert function (CVE-2021-34552)
-
python-pillow: Buffer over-read in PCX image reader (CVE-2020-35653)
-
python-pillow: Buffer over-read in SGI RLE image reader (CVE-2020-35655)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinux Release Notes linked from the References section.
- Record
ALSA-2021:4149- Updated
- 2026-11-02
OSVBIT-pillow-2021-27922 No score
Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
BIT-pillow-2021-27922- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:1134-1 No score
Security update for python-CairoSVG, python-Pillow
This update for python-CairoSVG, python-Pillow fixes the following issues:
Update to version 2.5.1.
- Security fix: When processing SVG files, CairoSVG was using two regular expressions which are vulnerable to Regular Expression Denial of Service (REDoS). If an attacker provided a malicious SVG, it could make CairoSVG get stuck processing the file for a very long time.
- Fix marker positions for unclosed paths
- Follow hint when only output_width or output_height is set
- Handle opacity on raster images
- Don’t crash when use tags reference unknown tags
- Take care of the next letter when A/a is replaced by l
- Fix misalignment in node.vertices
Updates for version 2.5.0.
- Drop support of Python 3.5, add support of Python 3.9.
- Add EPS export
- Add background-color, negate-colors, and invert-images options
- Improve support for font weights
- Fix opacity of patterns and gradients
- Support auto-start-reverse value for orient
- Draw images contained in defs
- Add Exif transposition support
- Handle dominant-baseline
- Support transform-origin
python-Pillow update to version 8.3.1:
-
Catch OSError when checking if fp is sys.stdout #5585 [radarhere]
-
Handle removing orientation from alternate types of EXIF data #5584 [radarhere]
-
Make Image.array take optional dtype argument #5572 [t-vi, radarhere]
-
Use snprintf instead of sprintf. CVE-2021-34552 #5567 [radarhere]
-
Limit TIFF strip size when saving with LibTIFF #5514 [kmilos]
-
Allow ICNS save on all operating systems #4526 [baletu, radarhere, newpanjing, hugovk]
-
De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables #4989 [gofr, radarhere]
-
Replaced xml.etree.ElementTree #5565 [radarhere]
-
Moved CVE image to pillow-depends #5561 [radarhere]
-
Added tag data for IFD groups #5554 [radarhere]
-
Improved ImagePalette #5552 [radarhere]
-
Add DDS saving #5402 [radarhere]
-
Improved getxmp() #5455 [radarhere]
-
Convert to float for comparison with float in IFDRational eq #5412 [radarhere]
-
Allow getexif() to access TIFF tag_v2 data #5416 [radarhere]
-
Read FITS image mode and size #5405 [radarhere]
-
Merge parallel horizontal edges in ImagingDrawPolygon #5347 [radarhere, hrdrq]
-
Use transparency behind first GIF frame and when disposing to background #5557 [radarhere, zewt]
-
Avoid unstable nature of qsort in Quant.c #5367 [radarhere]
-
Copy palette to new images in ImageOps expand #5551 [radarhere]
-
Ensure palette string matches RGB mode #5549 [radarhere]
-
Do not modify EXIF of original image instance in exif_transpose() #5547 [radarhere]
-
Fixed default numresolution for small JPEG2000 images #5540 [radarhere]
-
Added DDS BC5 reading #5501 [radarhere]
-
Raise an error if ImageDraw.textbbox is used without a TrueType font #5510 [radarhere]
-
Added ICO saving in BMP format #5513 [radarhere]
-
Ensure PNG seeks to end of previous chunk at start of load_end #5493 [radarhere]
-
Do not allow TIFF to seek to a past frame #5473 [radarhere]
-
Avoid race condition when displaying images with eog #5507 [mconst]
-
Added specific error messages when ink has incorrect number of bands #5504 [radarhere]
-
Allow converting an image to a numpy array to raise errors #5379 [radarhere]
-
Removed DPI rounding from BMP, JPEG, PNG and WMF loading #5476, #5470 [radarhere]
-
Remove spikes when drawing thin pieslices #5460 [xtsm]
-
Updated default value for SAMPLESPERPIXEL TIFF tag #5452 [radarhere]
-
Removed TIFF DPI rounding #5446 [radarhere, hugovk]
-
Include code in WebP error #5471 [radarhere]
-
Do not alter pixels outside mask when drawing text on an image with transparency #5434 [radarhere]
-
Reset handle when seeking backwards in TIFF #5443 [radarhere]
-
Replace sys.stdout with sys.stdout.buffer when saving #5437 [radarhere]
-
Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip #5426 [radarhere]
-
Fixed bug when checking FreeType2 version if it is not installed #5445 [radarhere]
-
Do not round dimensions…
- Record
openSUSE-SU-2021:1134-1- Updated
- 2026-11-02
OSVPYSEC-2021-41 No score
Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.
- Record
PYSEC-2021-41- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2021-27922 No score
CVE-2021-27922 in pillow - Patched by Root
Root has patched CVE-2021-27922 in the pillow package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2021-27922- Updated
- 2026-11-05
OSVSUSE-SU-2021:1938-1 No score
Security update for python-Pillow
This update for python-Pillow fixes the following issues:
- CVE-2020-35655: Fixed a buffer over-read when decoding crafted SGI RLE image files (bsc#1180832).
- CVE-2021-25293: Fixed an out-of-bounds read in SGIRleDecode.c (bsc#1183102).
- CVE-2021-25290: Fixed a negative-offset memcpy with an invalid size in TiffDecode.c (bsc#1183105).
- CVE-2021-25292: Fixed a backtracking regex in PDF parser could be used as a DOS attack (bsc#1183101).
- CVE-2021-27921,CVE-2021-27922,CVE-2021-27923: Fixed improper reported size of a contained image (bsc#1183110,bsc#1183108,bsc#1183107)
- CVE-2020-35653: Fixed buffer over-read in PcxDecode when decoding a crafted PCX file (bsc#1180834).
- CVE-2021-25287: Fixed out-of-bounds read in J2kDecode in j2ku_graya_la (bsc#1185805).
- CVE-2021-25288: Fixed out-of-bounds read in J2kDecode in j2ku_gray_i (bsc#1185803).
- CVE-2021-28675: Fixed DoS in PsdImagePlugin (bsc#1185804).
- CVE-2021-28678: Fixed improper check in BlpImagePlugin (bsc#1185784).
- CVE-2021-28677: Fixed DoS in the open phase via a malicious EPS file (bsc#1185785).
- CVE-2021-28676: Fixed infinite loop in FliDecode.c (bsc#1185786).
- Record
SUSE-SU-2021:1938-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:1939-1 No score
Security update for python-Pillow
This update for python-Pillow fixes the following issues:
- CVE-2021-25292: Fixed a backtracking regex in PDF parser could be used as a DOS attack (bsc#1183101).
- CVE-2021-25290: Fixed a negative-offset memcpy with an invalid size in TiffDecode.c (bsc#1183105).
- CVE-2021-27922,CVE-2021-27923: Fixed improper reported size of a contained image (bsc#1183108,bsc#1183107)
- CVE-2020-35653: Fixed buffer over-read in PcxDecode when decoding a crafted PCX file (bsc#1180834).
- CVE-2021-25287: Fixed out-of-bounds read in J2kDecode in j2ku_graya_la (bsc#1185805).
- CVE-2021-25288: Fixed out-of-bounds read in J2kDecode in j2ku_gray_i (bsc#1185803).
- CVE-2021-28675: Fixed DoS in PsdImagePlugin (bsc#1185804).
- CVE-2021-28677: Fixed DoS in the open phase via a malicious EPS file (bsc#1185785).
- CVE-2021-28676: Fixed infinite loop in FliDecode.c (bsc#1185786).
- Record
SUSE-SU-2021:1939-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:1940-1 No score
Security update for python-Pillow
This update for python-Pillow fixes the following issues:
- CVE-2021-25290: Fixed a negative-offset memcpy with an invalid size in TiffDecode.c (bsc#1183105).
- CVE-2021-27922,CVE-2021-27923: Fixed improper reported size of a contained image (bsc#1183108,bsc#1183107)
- CVE-2020-35653: Fixed buffer over-read in PcxDecode when decoding a crafted PCX file (bsc#1180834).
- CVE-2021-25287: Fixed out-of-bounds read in J2kDecode in j2ku_graya_la (bsc#1185805).
- CVE-2021-25288: Fixed out-of-bounds read in J2kDecode in j2ku_gray_i (bsc#1185803).
- CVE-2021-28675: Fixed DoS in PsdImagePlugin (bsc#1185804).
- CVE-2021-28677: Fixed DoS in the open phase via a malicious EPS file (bsc#1185785).
- CVE-2021-28676: Fixed infinite loop in FliDecode.c (bsc#1185786).
- Record
SUSE-SU-2021:1940-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:1673-1 No score
Security update for python-Pillow
This update for python-Pillow fixes the following issues:
- Fixed ImagePath.Path array handling (bsc#1194552, CVE-2022-22815, bsc#1194551, CVE-2022-22816)
- Use snprintf instead of sprintf (bsc#1188574, CVE-2021-34552)
- Fix Memory DOS in Icns, Ico and Blp Image Plugins. (bsc#1183110, CVE-2021-27921, bsc#1183108, CVE-2021-27922, bsc#1183107, CVE-2021-27923)
- Fix OOB read in SgiRleDecode.c (bsc#1183102, CVE-2021-25293)
- Use more specific regex chars to prevent ReDoS (bsc#1183101, CVE-2021-25292)
- Fix negative size read in TiffDecode.c (bsc#1183105, CVE-2021-25290)
- Raise ValueError if color specifier is too long (bsc#1190229, CVE-2021-23437)
- Incorrect error code checking in TiffDecode.c (bsc#1183103, CVE-2021-25289)
- OOB Write in TiffDecode.c (bsc#1180833, CVE-2020-35654)
- Record
SUSE-SU-2024:1673-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:1673-2 No score
Security update for python-Pillow
This update for python-Pillow fixes the following issues:
- Fixed ImagePath.Path array handling (bsc#1194552, CVE-2022-22815, bsc#1194551, CVE-2022-22816)
- Use snprintf instead of sprintf (bsc#1188574, CVE-2021-34552)
- Fix Memory DOS in Icns, Ico and Blp Image Plugins. (bsc#1183110, CVE-2021-27921, bsc#1183108, CVE-2021-27922, bsc#1183107, CVE-2021-27923)
- Fix OOB read in SgiRleDecode.c (bsc#1183102, CVE-2021-25293)
- Use more specific regex chars to prevent ReDoS (bsc#1183101, CVE-2021-25292)
- Fix negative size read in TiffDecode.c (bsc#1183105, CVE-2021-25290)
- Raise ValueError if color specifier is too long (bsc#1190229, CVE-2021-23437)
- Incorrect error code checking in TiffDecode.c (bsc#1183103, CVE-2021-25289)
- OOB Write in TiffDecode.c (bsc#1180833, CVE-2020-35654)
- Record
SUSE-SU-2024:1673-2- Updated
- 2026-11-02
OSVUSN-4763-1 No score
pillow vulnerabilities
It was discovered that Pillow incorrectly handled certain Tiff image files. If a user or automated system were tricked into opening a specially-crafted Tiff file, a remote attacker could cause Pillow to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 20.04 LTS and Ubuntu 20.10. (CVE-2021-25289, CVE-2021-25291)
It was discovered that Pillow incorrectly handled certain Tiff image files. If a user or automated system were tricked into opening a specially-crafted Tiff file, a remote attacker could cause Pillow to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2021-25290)
It was discovered that Pillow incorrectly handled certain PDF files. If a user or automated system were tricked into opening a specially-crafted PDF file, a remote attacker could cause Pillow to hang, resulting in a denial of service. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 20.10. (CVE-2021-25292)
It was discovered that Pillow incorrectly handled certain SGI image files. If a user or automated system were tricked into opening a specially-crafted SGI file, a remote attacker could possibly cause Pillow to crash, resulting in a denial of service. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 20.10. (CVE-2021-25293)
Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan discovered that Pillow incorrectly handled certain BLP files. If a user or automated system were tricked into opening a specially-crafted BLP file, a remote attacker could possibly cause Pillow to consume resources, resulting in a denial of service. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 20.10. (CVE-2021-27921)
Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan discovered that Pillow incorrectly handled certain ICNS files. If a user or automated system were tricked into opening a specially-crafted ICNS file, a remote attacker could possibly cause Pillow to consume resources, resulting in a denial of service. (CVE-2021-27922)
Jiayi Lin, Luke Shaffer, Xinran Xie, and Akshay Ajayan discovered that Pillow incorrectly handled certain ICO files. If a user or automated system were tricked into opening a specially-crafted ICO file, a remote attacker could possibly cause Pillow to consume resources, resulting in a denial of service. (CVE-2021-27922)
- Record
USN-4763-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pillowPyPI |
before 8.1.2 | 8.1.2 |
py3-pillowAlpine:v3.14 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.15 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.16 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.17 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.18 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.19 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.20 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.21 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.22 |
before 8.1.2-r0 | 8.1.2-r0 |
Show 36 moreShow less
| Package | Affected | Fixed |
|---|---|---|
py3-pillowAlpine:v3.23 |
before 8.1.2-r0 | 8.1.2-r0 |
py3-pillowAlpine:v3.24 |
before 8.1.2-r0 | 8.1.2-r0 |
python3-pillowAlmaLinux:8 From an advisory covering 15 CVEs |
before 5.1.1-16.el8 | 5.1.1-16.el8 |
pillowBitnami |
before 8.1.1 | 8.1.1 |
pillowDebian:12 |
before 8.1.2-1 | 8.1.2-1 |
pillowDebian:13 |
before 8.1.2-1 | 8.1.2-1 |
pillowDebian:14 |
before 8.1.2-1 | 8.1.2-1 |
pillowPyPI |
before 8.1.2, plus listed versions 1.01.11.21.31.4 Show 45 moreShow less1.51.61.7.01.7.11.7.21.7.31.7.41.7.51.7.61.7.71.7.82.0.02.1.02.2.02.2.12.2.22.3.02.3.12.3.22.4.02.5.02.5.12.5.22.5.32.6.02.6.12.6.22.7.02.8.02.8.12.8.22.9.03.0.03.1.03.1.0.rc13.1.0rc13.1.13.1.23.2.03.3.03.3.13.3.23.3.33.4.03.4.1 |
8.1.2 |
python-pillowopenEuler:20.03-LTS From an advisory covering 4 CVEs |
before 8.1.1-2.oe1 | 8.1.1-2.oe1 |
python-pillowopenEuler:20.03-LTS-SP1 From an advisory covering 4 CVEs |
before 8.1.1-2.oe1 | 8.1.1-2.oe1 |
pillowPyPI |
before 8.1.1, plus listed versions 1.01.11.21.31.4 Show 45 moreShow less1.51.61.7.01.7.11.7.21.7.31.7.41.7.51.7.61.7.71.7.82.0.02.1.02.2.02.2.12.2.22.3.02.3.12.3.22.4.02.5.02.5.12.5.22.5.32.6.02.6.12.6.22.7.02.8.02.8.12.8.22.9.03.0.03.1.0.rc13.1.0rc13.1.03.1.13.1.23.2.03.3.03.3.13.3.23.3.33.4.03.4.1 |
8.1.1 |
python-pillowRed Hat:enterprise_linux:8::appstream From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
python-pillow-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
python-pillow-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
python3-pillowRed Hat:enterprise_linux:8::appstream From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
python3-pillow-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
python3-pillow-tk-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
python-pillowRocky Linux:8 From an advisory covering 15 CVEs |
before 0:5.1.1-16.el8 | 0:5.1.1-16.el8 |
pillowRoot:PyPI |
before 8.0.1+aikido.1 | 8.0.1+aikido.18.0.1+aikido.27.0.0+aikido.27.0.0+aikido.3 |
python-PillowSUSE:OpenStack Cloud 9 From an advisory covering 14 CVEs |
before 5.2.0-3.8.1 | 5.2.0-3.8.1 |
python-PillowSUSE:OpenStack Cloud Crowbar 9 From an advisory covering 14 CVEs |
before 5.2.0-3.8.1 | 5.2.0-3.8.1 |
python-PillowSUSE:HPE Helion OpenStack 8 From an advisory covering 10 CVEs |
before 4.2.1-3.14.1 | 4.2.1-3.14.1 |
python-PillowSUSE:OpenStack Cloud 8 From an advisory covering 10 CVEs |
before 4.2.1-3.14.1 | 4.2.1-3.14.1 |
python-PillowSUSE:OpenStack Cloud Crowbar 8 From an advisory covering 10 CVEs |
before 4.2.1-3.14.1 | 4.2.1-3.14.1 |
python-PillowSUSE:OpenStack Cloud 7 From an advisory covering 9 CVEs |
before 2.8.1-4.22.1 | 2.8.1-4.22.1 |
python-PillowopenSUSE:Leap 15.5 From an advisory covering 12 CVEs |
before 7.2.0-150300.3.15.1 | 7.2.0-150300.3.15.1 |
python-PillowSUSE:Linux Enterprise Module for Package Hub 15 SP6 From an advisory covering 12 CVEs |
before 7.2.0-150300.3.15.1 | 7.2.0-150300.3.15.1 |
pillowUbuntu:16.04:LTS |
before 3.1.2-0ubuntu1.6, plus listed versions 2.9.0-13.0.0-13.0.0-1build13.1.0-13.1.1-1 Show 5 moreShow less3.1.2-0ubuntu13.1.2-0ubuntu1.13.1.2-0ubuntu1.33.1.2-0ubuntu1.43.1.2-0ubuntu1.5 |
3.1.2-0ubuntu1.6 |
pillowUbuntu:18.04:LTS |
before 5.1.0-1ubuntu0.5, plus listed versions 4.1.1-3build24.3.0-2ubuntu15.0.0-15.1.0-15.1.0-1ubuntu0.25.1.0-1ubuntu0.35.1.0-1ubuntu0.4 |
5.1.0-1ubuntu0.5 |
pillowUbuntu:20.04:LTS |
before 7.0.0-4ubuntu0.3, plus listed versions 6.1.0-16.1.0-1build16.2.1-27.0.0-47.0.0-4build17.0.0-4ubuntu0.17.0.0-4ubuntu0.2 |
7.0.0-4ubuntu0.3 |
pillow-python2Ubuntu:Pro:20.04:LTS |
All versions, plus listed versions 6.2.1-3~build16.2.1-36.2.1-3ubuntu0.1~esm16.2.1-3ubuntu0.1~esm2 |
None known |
pillowUbuntu:16.04:LTS From an advisory covering 8 CVEs |
before 3.1.2-0ubuntu1.6, plus listed versions 2.9.0-13.0.0-13.0.0-1build13.1.0-13.1.1-1 Show 5 moreShow less3.1.2-0ubuntu13.1.2-0ubuntu1.13.1.2-0ubuntu1.33.1.2-0ubuntu1.43.1.2-0ubuntu1.5 |
3.1.2-0ubuntu1.6 |
pillowUbuntu:18.04:LTS From an advisory covering 8 CVEs |
before 5.1.0-1ubuntu0.5, plus listed versions 4.1.1-3build24.3.0-2ubuntu15.0.0-15.1.0-15.1.0-1ubuntu0.25.1.0-1ubuntu0.35.1.0-1ubuntu0.4 |
5.1.0-1ubuntu0.5 |
pillowUbuntu:20.04:LTS From an advisory covering 8 CVEs |
before 7.0.0-4ubuntu0.3, plus listed versions 6.1.0-16.1.0-1build16.2.1-27.0.0-47.0.0-4build17.0.0-4ubuntu0.17.0.0-4ubuntu0.2 |
7.0.0-4ubuntu0.3 |
python-CairoSVGopenSUSE:Leap 15.2 From an advisory covering 13 CVEs |
before 2.5.1-lp152.2.3.1 | 2.5.1-lp152.2.3.1 |
python-PillowopenSUSE:Leap 15.2 From an advisory covering 13 CVEs |
before 8.3.1-lp152.5.3.1 | 8.3.1-lp152.5.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected | OSV | |
| affected, facts | OSV | |
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-27922 is a high vulnerability (CVSS 7.5) in Python Pillow, published March 3, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.85%, the 92nd percentile. Fixed in pillow 8.1.2.
References
lists.fedoraproject.org/archives/list/[email protected]/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ
lists.fedoraproject.org/archives/list/[email protected]/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML
lists.fedoraproject.org/archives/list/[email protected]/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU
security.gentoo.org/glsa/202107-33
pillow.readthedocs.io/en/stable/releasenotes/8.1.2.html
pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html
Show 152 moreShow less
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU
nvd.nist.gov/vuln/detail/CVE-2021-27922
github.com/python-pillow/Pillow/commit/756fff33128a0b643d10518a26ad04b726dd8973
github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-41.yaml
github.com/advisories/GHSA-3wvg-mj6g-m9cv
security.alpinelinux.org/vuln/CVE-2021-27922
vulners.com/cve/CVE-2020-35653
vulners.com/cve/CVE-2020-35655
vulners.com/cve/CVE-2021-25287
vulners.com/cve/CVE-2021-25288
vulners.com/cve/CVE-2021-25290
vulners.com/cve/CVE-2021-25292
vulners.com/cve/CVE-2021-25293
vulners.com/cve/CVE-2021-27921
vulners.com/cve/CVE-2021-27922
vulners.com/cve/CVE-2021-27923
vulners.com/cve/CVE-2021-28675
vulners.com/cve/CVE-2021-28676
vulners.com/cve/CVE-2021-28677
vulners.com/cve/CVE-2021-28678
vulners.com/cve/CVE-2021-34552
security-tracker.debian.org/tracker/CVE-2021-27922
github.com/python-pillow/Pillow
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1127
nvd.nist.gov/vuln/detail/CVE-2020-35655
nvd.nist.gov/vuln/detail/CVE-2021-27921
nvd.nist.gov/vuln/detail/CVE-2021-27923
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1146
access.redhat.com/errata/RHSA-2021:4149
access.redhat.com/security/updates/classification
access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes
bugzilla.redhat.com/show_bug.cgi?id=1915420
bugzilla.redhat.com/show_bug.cgi?id=1915432
bugzilla.redhat.com/show_bug.cgi?id=1934685
bugzilla.redhat.com/show_bug.cgi?id=1934699
bugzilla.redhat.com/show_bug.cgi?id=1934705
bugzilla.redhat.com/show_bug.cgi?id=1935384
bugzilla.redhat.com/show_bug.cgi?id=1935396
bugzilla.redhat.com/show_bug.cgi?id=1935401
bugzilla.redhat.com/show_bug.cgi?id=1958226
bugzilla.redhat.com/show_bug.cgi?id=1958231
bugzilla.redhat.com/show_bug.cgi?id=1958240
bugzilla.redhat.com/show_bug.cgi?id=1958252
bugzilla.redhat.com/show_bug.cgi?id=1958257
bugzilla.redhat.com/show_bug.cgi?id=1958263
bugzilla.redhat.com/show_bug.cgi?id=1982378
security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_4149.json
access.redhat.com/security/cve/CVE-2020-35653
cve.org/CVERecord?id=CVE-2020-35653
nvd.nist.gov/vuln/detail/CVE-2020-35653
pillow.readthedocs.io/en/stable/releasenotes/8.1.0.html
access.redhat.com/security/cve/CVE-2020-35655
cve.org/CVERecord?id=CVE-2020-35655
access.redhat.com/security/cve/CVE-2021-25287
cve.org/CVERecord?id=CVE-2021-25287
nvd.nist.gov/vuln/detail/CVE-2021-25287
access.redhat.com/security/cve/CVE-2021-25288
cve.org/CVERecord?id=CVE-2021-25288
nvd.nist.gov/vuln/detail/CVE-2021-25288
access.redhat.com/security/cve/CVE-2021-25290
cve.org/CVERecord?id=CVE-2021-25290
nvd.nist.gov/vuln/detail/CVE-2021-25290
access.redhat.com/security/cve/CVE-2021-25292
cve.org/CVERecord?id=CVE-2021-25292
nvd.nist.gov/vuln/detail/CVE-2021-25292
access.redhat.com/security/cve/CVE-2021-25293
cve.org/CVERecord?id=CVE-2021-25293
nvd.nist.gov/vuln/detail/CVE-2021-25293
access.redhat.com/security/cve/CVE-2021-27921
cve.org/CVERecord?id=CVE-2021-27921
access.redhat.com/security/cve/CVE-2021-27922
cve.org/CVERecord?id=CVE-2021-27922
access.redhat.com/security/cve/CVE-2021-27923
cve.org/CVERecord?id=CVE-2021-27923
access.redhat.com/security/cve/CVE-2021-28675
cve.org/CVERecord?id=CVE-2021-28675
nvd.nist.gov/vuln/detail/CVE-2021-28675
access.redhat.com/security/cve/CVE-2021-28676
cve.org/CVERecord?id=CVE-2021-28676
nvd.nist.gov/vuln/detail/CVE-2021-28676
pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html
access.redhat.com/security/cve/CVE-2021-28677
cve.org/CVERecord?id=CVE-2021-28677
nvd.nist.gov/vuln/detail/CVE-2021-28677
access.redhat.com/security/cve/CVE-2021-28678
cve.org/CVERecord?id=CVE-2021-28678
nvd.nist.gov/vuln/detail/CVE-2021-28678
access.redhat.com/security/cve/CVE-2021-34552
cve.org/CVERecord?id=CVE-2021-34552
nvd.nist.gov/vuln/detail/CVE-2021-34552
pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html
errata.rockylinux.org/RLSA-2021:4149
suse.com/support/update/announcement/2021/suse-su-20211938-1
bugzilla.suse.com/1180832
bugzilla.suse.com/1180834
bugzilla.suse.com/1183101
bugzilla.suse.com/1183102
bugzilla.suse.com/1183105
bugzilla.suse.com/1183107
bugzilla.suse.com/1183108
bugzilla.suse.com/1183110
bugzilla.suse.com/1185784
bugzilla.suse.com/1185785
bugzilla.suse.com/1185786
bugzilla.suse.com/1185803
bugzilla.suse.com/1185804
bugzilla.suse.com/1185805
suse.com/security/cve/CVE-2020-35653
suse.com/security/cve/CVE-2020-35655
suse.com/security/cve/CVE-2021-25287
suse.com/security/cve/CVE-2021-25288
suse.com/security/cve/CVE-2021-25290
suse.com/security/cve/CVE-2021-25292
suse.com/security/cve/CVE-2021-25293
suse.com/security/cve/CVE-2021-27921
suse.com/security/cve/CVE-2021-27922
suse.com/security/cve/CVE-2021-27923
suse.com/security/cve/CVE-2021-28675
suse.com/security/cve/CVE-2021-28676
suse.com/security/cve/CVE-2021-28677
suse.com/security/cve/CVE-2021-28678
suse.com/support/update/announcement/2021/suse-su-20211939-1
suse.com/support/update/announcement/2021/suse-su-20211940-1
suse.com/support/update/announcement/2024/suse-su-20241673-1
bugzilla.suse.com/1180833
bugzilla.suse.com/1183103
bugzilla.suse.com/1188574
bugzilla.suse.com/1190229
bugzilla.suse.com/1194551
bugzilla.suse.com/1194552
suse.com/security/cve/CVE-2020-35654
suse.com/security/cve/CVE-2021-23437
suse.com/security/cve/CVE-2021-25289
suse.com/security/cve/CVE-2021-34552
suse.com/security/cve/CVE-2022-22815
suse.com/security/cve/CVE-2022-22816
suse.com/support/update/announcement/2024/suse-su-20241673-2
ubuntu.com/security/CVE-2021-27922
ubuntu.com/security/notices/USN-4763-1
ubuntu.com/security/CVE-2021-25289
ubuntu.com/security/CVE-2021-25290
ubuntu.com/security/CVE-2021-25291
ubuntu.com/security/CVE-2021-25292
ubuntu.com/security/CVE-2021-25293
ubuntu.com/security/CVE-2021-27921
ubuntu.com/security/CVE-2021-27923
lists.opensuse.org/archives/list/[email protected]/thread/N6MMS3NOFXF2TZBZ5M3EC6VOB65FRP4I
bugzilla.suse.com/1181281
suse.com/security/cve/CVE-2020-15999
suse.com/security/cve/CVE-2021-25291
Left out here: 55 versions and the rest of 1 source description. The JSON record has them.