CVE and update status of the FreeBSD ports tree4,826 unaddressed CVEs in 618 portsAll times are CET

Port details

graphics/py-pillow12.3.0

Python Imaging Library (fork)

Maintainer
sunpoet@FreeBSD.org
Packages
py312-pillow 12.3.0
Upstream
Higher version available: 13.0.0
CPE
python:pillow from the port
WWW
https://python-pillow.github.io/
Links
cgit · VuXML

Unaddressed (2) · The CVE record lists this version as affected, no VuXML entry names the CVE

CVE-2026-1123908.2published 2026-10-19

Pillow is a Python imaging library. From 7.2.0 until 13.0.0, Pillow can enter an infinite loop while determining the frame count of a MIC image. MicImageFile inherits TIFF frame traversal, but MicImageFile.tell reports the OLE stream index and its seek() resets TIFF frame state, so an embedded TIFF with at least three IFDs never advances. When an applicatio…

CVE-2026-1123916.3published 2026-10-19

Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow's PdfParser.get_value() can recurse without a limit while reading nested PDF objects. The parser follows attacker-controlled arrays and dictionaries when an existing PDF is opened for append. An attacker can provide a deeply nested PDF to an application that saves an image with PDF append e…

VuXML only (0) · listed, port not fixed yet

None. pkg audit reports nothing for this version.

Fixed (0)

No VuXML entries for this package.

Commits (83)

Kai Knoblich (kai) · 6.0.0
graphics/py-pillow: Update to 6.0.0

* Introduce a new option OLE and add it to the default options to maintain
   compatibility for a while with existing installations/users that rely on
   the previously deprecated function PIL.OleFileIO which has been removed
   now.

 * Remove obsolete CONFLICTS_INSTALL entry because graphics/py-imaging no
   longer exists in the Ports tree since 2016.

Release Notes:

 * https://pillow.readthedocs.io/en/latest/releasenotes/index.html

Backward Incompatible Changes (6.0.0):

 * https://pillow.readthedocs.io/en/latest/releasenotes/6.0.0.html#backwards-incompatible-changes

Detailed Changelog:

 * https://github.com/python-pillow/Pillow/blob/6.0.0/CHANGES.rst

PR:		237426
Reviewed by:	antoine, koobs, Charlie Li
Approved by:	koobs (maintainer)
03deb97371
Martin Wilke (miwi) · 5.3.0
- Update to 5.3.0 - Moved USES block above the OPTIONS block according to PHB and to pet portlint

Changes by upstream:
- https://github.com/python-pillow/Pillow/blob/5.3.0/CHANGES.rst

PR:		234613
Submitted by:	freebsd_ports@k-worx.org
Approved by:	maintainer timeout
Sponsored by:	iXsystems Inc.
a5db8cc43d
Martin Wilke (miwi) · 5.2.0
- Update to 5.2.0

Changes by upstream:
- https://github.com/python-pillow/Pillow/compare/5.0.0...5.2.0

PR:		231088
Submitted by:	freebsd_ports@k-worx.org
Approved by:	maintainer timeout
Sponsored by:	iXsystems Inc.
9bfd6d47b7
Mathieu Arnold (mat) · 5.0.0
Use PY_FLAVOR for dependencies.

FLAVOR is the current port's flavor, it should not be used outside of
this scope.

Sponsored by:	Absolight
4376dbbb58
Kubilay Kocak (koobs) · 5.0.0
graphics/py-pillow: Update to 5.0.0

- Update to 5.0.0
- Add TEST_DEPENDS, which was missing in previous port versions where
  test target was defined.
- Switch to using pytest, per upstream.
- Add comment to track actual (precise) supported Python versions.

Release Notes:

 * https://pillow.readthedocs.io/en/latest/releasenotes/index.html

Backward Incompatible Changes (5.0.0):

 * https://pillow.readthedocs.io/en/latest/releasenotes/5.0.0.html#backwards-incompatible-changes

Detailed Changelog:

 * https://github.com/python-pillow/Pillow/blob/5.0.0/CHANGES.rst

PR:		226573 [1]
Submitted by:	Kevin Golding <ports caomhin org> [1]
83b38c21aa
Mathieu Arnold (mat) · 3.4.2_1
When using opt_VARS and the value of the variable has space, it must be quoted.

Sponsored by:	Absolight
ef708e6d8a
Mathieu Arnold (mat) · 3.4.2_1
Convert Python ports to FLAVORS.

Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
551be3c723
Sunpoet Po-Chuan Hsieh (sunpoet) · 3.4.2_1
Update to 0.6.0

- Bump PORTREVISION for dependent ports

Changes:	https://chromium.googlesource.com/webm/libwebp/+/master/NEWS
7d3a967cfb
Mark Felder (feld) · 3.4.2
graphics/py-pillow: Update to 3.4.2 (security fixes)

- Update to 3.4.2
- Add JPEG2000 option

Changes:	https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst

PR:		215615
MFH:		2017Q1
2da1486bfb
Ben Woods (woodsb02) · 3.1.1_1
Create new port graphics/py3-pillow: - This is a variant of graphics/py-pillow for Python 3.x.   A separate port is needed until the ports tree gets VARIANTS support.   The science/gramps port will soon be updated to a version which only   supports python3, and it depends on py-pillow with python3.   To allow people to only use packages directly (and not ports),   the package building infrastructu

PR:		207040
Approved by:	mat, adamw (mentors), koobs (maintainer)
Differential Revision:	https://reviews.freebsd.org/D6433
1d479ec4cd
Mathieu Arnold (mat) · 3.1.1_1
Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.

With hat:	portmgr
Sponsored by:	Absolight
4e1b79a0a6
Sunpoet Po-Chuan Hsieh (sunpoet) · 3.1.1_1
- Update to 0.5.0 - Bump PORTREVISION for graphics/webp shlib change

Changes:	https://chromium.googlesource.com/webm/libwebp/+/master/NEWS
1fc33e5d96
Kubilay Kocak (koobs) · 3.1.1
graphics/py-pillow: Fix OPT_VARS, Enable WEBP by default

After converting if PORT_OPTIONS:MOPTION PYDISTUTILS_BUILDARGS to
OPTION_VARS=PYDISTUTILS_BUILDARGS in r409464 [1], it was reported
that the port failed to build with the following error:

  ValueError: --enable-tcl requested but tcl not found

Investigation revealed that only the first of the TKINTER_VARS{_OFF}
values was being assigned. The root cause appears to be that
OPTIONS_VARS=VAR=<value> does not support multiple space-separated
values, unless:

a) Values are quoted: OPTION_VARS=VAR="value1 value1", OR
b) Multiple assignments are made: OPTION_VAR=VAR+=value1 VAR+=value2

This change wraps the assign for TKINTER_VARS{_OFF} in quotes.

It's probably worth improving the OPTION_VARS mechanism to support (a)
in Mk/bsd.options.mk instead in the long term.

While I'm here:

- Use the 'saveopts' command to save all PYDISTUTILS_BUILDARGS in
  setup.cfg so they are used in the install stage, fixing certain errors
- Enable WEBP option by default (Hi pkg users!)

[1] https://svnweb.freebsd.org/changeset/ports/409464

PR:		207470
Reported by:	olgeni
Reported by:	Vladimir Omelchuk <admin vladiom com ua>
Reported by:	Oliver Hartmann <ohartman zedat fu-berlin de>
62e4094cce
Kubilay Kocak (koobs) · 3.1.1
graphics/py-pillow: Update to 3.1.1, Modernize

- Update PORTVERSION and distinfo checksum (3.1.1)
- Convert remaining conditionals to to OPTIONS helpers
- Replace custom do-install and replace build/install target hacks
- Remove patches (upstream, were previously backported)
- Strip shared extensions
- Extend test suite

Changes:

  https://github.com/python-pillow/Pillow/blob/3.1.1/CHANGES.rst
cc41e58292
Kubilay Kocak (koobs) · 2.9.0_1
graphics/py-pillow: Backport security fixes

Backport security fixes from 3.1.1 release, resolving the following
vulnerabilities:

 * CVE-2016-0775: Buffer overflow in FLI decoding code
 * CVE-2016-0740: Buffer overflow in TIFF decoding code
 * Integer overflow in Resample.c [1]
 * Buffer overflow in PCD decoder [2]

[1] https://github.com/python-pillow/Pillow/issues/1710
[2] https://github.com/python-pillow/Pillow/issues/568

PR:		207053
Submitted by:	rakuco
MFH:		2016Q1
Security:	a8de962a-cf15-11e5-805c-5453ed2e2b49
b14acbae9c
Kubilay Kocak (koobs) · 2.9.0
graphics/py-pillow: Update to 2.9.0

- Update to 2.9.0
- Change LICENSE_FILE path

Changes:

  https://github.com/python-pillow/Pillow/blob/2.9.0/CHANGES.rst
de3e4618e7
Antoine Brodin (antoine) · 2.6.0_1
Convert to USES=jpeg
6e5719ca80
Mathieu Arnold (mat) · 2.6.0_1
Update ports in the games category to not use GH_COMMIT.

With minor cleanups to make things simpler.

With hat:	portmgr
Sponsored by:	Absolight
02415c68f5
Antoine Brodin (antoine) · 2.6.0_1
Unbreak
47c1e4ea52
Marcus von Appen (mva) · 2.6.0_1
- Use TKINTER as default for py-pillow, since some ports   (e.g. games/pysolfc) rely on it.

PR:		194818
Reported by:	Dana (dj9bsd@gmail.com)
With hat:	python@
184cd5f28b
William Grzybowski (wg) · 2.6.0
graphics/py-pillow: fix typo in TIFF option

With hat:	python
Reported by:	Beeblebrox <zaphod berentweb com> (via email, freebsd-ports@)
5fbaebbab3
William Grzybowski (wg) · 2.6.0
graphics/py-pillow: fix build of tk extension

- Update to 2.6.0
- USES python

PR:		193958
Submitted by:	mva
Approved by:	koobs (maintainer)
0f108c12a7
Kubilay Kocak (koobs) · 2.5.1
graphics/py-pillow: Update to 2.5.1, Add TKINTER option

- Update to 2.5.1
- OPTIONS: Add Tkinter (Tcl/Tk) support
- OPTIONS: Add FreeType as an options default

Changes:

  https://github.com/python-pillow/Pillow/blob/2.5.1/CHANGES.rst
7d06b9c209
Kubilay Kocak (koobs) · 2.4.0
graphics/py-pillow: Update to 2.4.0

- Update to 2.4.0
- Chase upstream repository name change
- pkg-descr: Update WWW: URL

Changes:

  https://github.com/python-pillow/Pillow/blob/2.4.0/CHANGES.rst

PR:		189029
Submitted by:	oliverd (with changes, minus openjpg patch)
413d6849c6
Sunpoet Po-Chuan Hsieh (sunpoet) · 2.3.0_2
- Update to 0.4.0 - Add LICENSE - Sort LIB_DEPENDS - Use USES=libtool - Do not silence installation message - Bump PORTREVISION for graphics/webp shlib change

Changes:	https://chromium.googlesource.com/webm/libwebp/+/master/NEWS
d60b005d21
Niclas Zeising (zeising) · 2.3.0_1
The FreeBSD x11@ and graphics team proudly presents a zeising, kwm production, with help from dumbbell, bdrewery:

NEW XORG ON FREEBSD 9-STABLE AND 10-STABLE

This update switches over to use the new xorg stack by default on FreeBSD 9
and 10 stable, on osversions where vt(9) is available.
It is still possible to use the old stack by specifying WITHOUT_NEW_XORG in
/etc/make.conf .
FreeBSD 8-STABLE and released versions of FreeBSD still use
the old version.
A package repository with binary packages for new xorg will
be available soon.

This patch also contains updates of libxcb and related ports, pixman, as well
as some drivers and utilities.

Bump portrevisions for xf86-* ports, as well as virtualbox-ose-additions due
to xserver version change.

Apart from these updates, the way shared libraries are handled has been
changed for all xorg ports, as well as libxml2 and freetype, which means
ltverhack is gone and as a consequence shared libraries have been bumped.
The plan is that this change will make library bumps less likely in the
future.
All affected ports have had their portrevisions bumped as a consequence of
this.

Fix some issues where WITH_NEW_XORG weren't detected properly on CURRENT.

Update instructions, hardware support, and more notes can be found on
https://wiki.freebsd.org/Graphics

Thanks to:	all testers, bdrewery and the FreeBSD x11@ team
exp-run by:	bdrewery [1]
PR:		ports/187602 [1]
Approved by:	portmgr (bdrewery), core (jhb)
39fc32e828
Kubilay Kocak (koobs) · 2.3.0
graphics/py-pillow: Update to 2.3.0, Add OPTIONS, Modernise

- Update to 2.3.0
- Add OPTIONS: FREETYPE JPEG LCMS PNG TIFF WEBP
- Enable STAGE support
- Enable AUTOPLIST support, delete pkg-plist
- Convert to new LIB_DEPENDS format
- Replace use of PYDISTUTILS_PKGNAME with PORTNAME:modifier
- Add LICENSE section
- Delete unecessary patches

Changes: https://github.com/python-imaging/Pillow/blob/2.3.0/CHANGES.rst

Based on extended version of patch provided in:

PR:		ports/186726
Submitted by:	tota
edbe554ba2
Baptiste Daroussin (bapt) · 2.0.0
Fix properties on pkg-plist
e04b632220
Koop Mast (kwm) · 2.0.0
Update freetype to 2.5.2.

Remove patch to add -I/usr/local/include in freetype-config --cflags. If
ports need extra headers they should look for them, and not get them via
a side-effect.

Freetype had a header resuffle in 2.5.1, patch ports to use the new header
style.

Thanks go to bdrewery for the two exp-runs and rakuco for helping me with
some troublesome cmake ports.

PR:		ports/184587
b1bf1620a6
Baptiste Daroussin (bapt) · 2.0.0
Add NO_STAGE all over the place in preparation for the staging support (cat: graphics)
eb08c5441c
Kubilay Kocak (koobs) · 2.0.0
- Update to 2.0.0 - Update and sort pkg-plist - Use GitHub for distfiles - Add regression-test: target

Approved by:	eadler (mentor)
1e1e95c585
Kubilay Kocak (koobs) · 1.7.7
Update MAINTAINER address for all my ports. While I'm here, standardise and canonicalise Makefile header format and contents.

Approved by:	eadler (mentor)
d95c946543
Martin Wilke (miwi) · 1.7.7
Pillow is the "friendly" PIL fork. PIL is the Python Imaging Library. Pillow was started for and is currently maintained by the Plone community. But it is used by many other folks in the Python web community.

WWW:	http://github.com/collective/Pillow

PR:		ports/168750
Submitted by:	koobs <koobs.freebsd@gmail.com>
9eb1e1ff58