Security readout for executives and security teams
Plain-English summary
Pillow, a Python image library, had a denial-of-service flaw before 8.2.0 in BLP image handling. A malformed BLP file could make the decoder repeatedly process empty data, wasting resources. Business impact is mainly service degradation where applications process untrusted images.
Executive priority
Treat as a routine but necessary dependency remediation. Prioritize internet-facing or customer-upload image processors first. Urgency is lower than remote code execution, but unpatched systems may still suffer avoidable service disruption.
Technical view
BlpImagePlugin failed to verify that reads after seeking to file offsets actually returned data. For BLP inputs, this could repeatedly invoke decoder logic on empty buffers, causing CPU or resource exhaustion rather than code execution. Sources identify the fix in Pillow 8.2.0 and related distro advisories.
Likely exposure
Exposure is most likely in Python applications using Pillow before 8.2.0 that parse BLP images, especially upload pipelines, thumbnailers, media processors, or backend services handling untrusted image files.
Exploitation context
The provided sources describe a denial-of-service condition but do not cite active exploitation. The CVE is not marked KEV in the supplied bundle. Evidence supports malformed BLP input causing decoder resource waste, not arbitrary code execution.
Researcher notes
The vulnerability is narrowly tied to BLP handling in Pillow’s BlpImagePlugin. The source bundle lacks CVSS, CWE, and detailed affected package metadata, so assessment should be anchored to Pillow version checks and distribution advisories.
Mitigation direction
- Upgrade Pillow to 8.2.0 or later.
- Apply fixed Fedora or Gentoo package updates where applicable.
- Inventory services that process uploaded or external images.
- Limit or reject BLP input where it is not business-required.
- Check vendor guidance for distribution-specific package names and backports.
Validation and detection
- Confirm installed Pillow versions are 8.2.0 or later.
- Review dependency lockfiles, container images, and OS packages.
- Identify image-processing paths accepting untrusted BLP files.
- Verify distro advisories show the patched package installed.
- Monitor image-processing services for abnormal resource exhaustion.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CVE-2021-28678 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Unknown
- CVSS
- Not scored
- Known Exploited
- No
- Published
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS and timeline data
No CVSS vectors or timeline events were available in the normalized CVE source material.
Source materials
- CVE List V5 sourceCVE List V5
- https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-28678-fix-blp-dosCVE reference · x_refsource_MISC
- https://github.com/python-pillow/Pillow/pull/5377CVE reference · x_refsource_MISC
- FEDORA-2021-77756994baCVE reference · vendor-advisory, x_refsource_FEDORA
- GLSA-202107-33CVE reference · vendor-advisory, x_refsource_GENTOO
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
